Design Method for Industrial Product Using Clothoid Curve, Industrial Products Designed by the Design Method, and Method and Device for Numerical Control Using the Clothoid Curve

ABSTRACT

A. [1] A trajectory of motion of the mechanical element is designed by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable. B. A trajectory of a machine tool or a contour shape of a workpiece is expressed by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable to control motion of the machine tool based on the three-dimensional curve.

TECHNICAL FIELD

In the following specification, a reference “A” is attached to the description concerning “Design method for industrial product using clothoid curve and industrial product designed by the design method” (hereinafter simply referred to as a design method for industrial product using a clothoid curve) and a reference “B” is attached to the description concerning “method and device for numerical control using the clothoid curve” (hereinafter simply referred to as a numerical control method using the clothoid curve).

A. Design Method for Industrial Products Using a Clothoid Curve:

The present invention relates to a method for designing the shape of an industrial product using a clothoid curve, and in particular, to a method for designing, in a machine including a mechanism in which a mechanical element having mass moves, smoothing the motion of the mechanical element.

B. Numerical Control Method Using the Clothoid Curve:

The present invention relates to a numerical control method and device for controlling motion of a tool (including grippers such as hands and others and various tools) of working machines (hereinafter referred to as robots etc.), such as robots, machine tools, assembly machines, and inspection machines, using a clothoid curve, and in particular, to a numerical control method and device for controlling a three-dimensional motion of the tool.

BACKGROUND ART

A. Design Method for Industrial Products Using a Clothoid Curve:

In response to making machines into a compact form and at high precision, it has become significant to have a mechanism in which a mechanical element which has able to move at high speed. The demand for realizing fast and high-precision motion, with less vibration and error in motion and with aging and damage suppressed, through a design for smooth motion trajectories with no dynamically unreasonable force, has been required strongly.

As to methods for designing free motion trajectories, a technique to connect analytic curves, such as straight lines and circular arcs, and a spline curve interpolation (i.e., a technique to interpolate a row of points to be given with spline curves) have conventionally been used (refer to a non-patent reference 1).

B. Numerical Control Method Using the Clothoid Curve:

In the case of robots performing numerical control in welding, painting, application of adhesives, and others, it is general that input figures are inputted as discrete data consisting of rows of points. To produce continuous figures, it is therefore necessary to interpolate the rows of points using some techniques.

As methods for performing interpolation between arbitrarily given point rows, there have been known a technique to round angles of broken lines, a B-spline interpolation, a cubic spline interpolation, and others. As an interpolation in which respective given points can be traced by strictly passing those points, the cubic spline interpolation has been known (refer to the non-patent reference 1).

However, since the cubic spline interpolation is expressed with a parameter that uses independent variable with no geometrical meaning, the cubic spline interpolation has a large fault that the relationship between the independent variable and geometric quantities of curves is indefinite. This cubic spline interpolation has a complicated relationship between distances moved from a starting point and the curvature, and is therefore inadequate to control that requires a linear velocity be held at a constant value.

Non patent reference 1: Mamoru HOSAKA, Toshio SADA, “Integrate-type CAD/CAM system”, Ohmsya, 1999;

Non patent reference 2: Shi-yu QIU, Hiroshi MAKINO, Hiroharu SUDA, Yasuo YOKOYAMA “Free Curve Interpolation Using Clothoidal Curve” (The Robotics Society Of Japan, vol 8, No. 6, pp 40-47); and

Non patent reference 3 by Li Guiquing, Li Xianmin, and Li Hua, “3D Discrete Clothoid Splines,” (CGI' 01, pp 321-324)

DISCLOSURE OF THE INVENTION

A. Design Method for Industrial Products Using a Clothoid Curve:

In techniques to connect analytic curves, such as straight lines and circular arcs, it is difficult to continuously connect curvatures at points connecting a straight line and a circular arc. When a technique to perform the interpolation with spline curves is adopted, the curvatures can be connected continuously, but it is difficult to design a distribution of covertures with no dynamically unreasonable force along a trajectory, because of the complicated relationship between distances moved from a starting point and curvatures. Thus favorable motion trajectories cannot be obtained.

Accordingly, the present invention has an object to provide a technique for designing, in a machine incorporating a mechanism in which a mechanical element having a mass moves, a motion trajectory allowing the mechanical element to move smoothly. The present technique is novel and innovative and has been created by the present inventors.

Herein, the “smooth” is that changes of tangent lines, a osculating plane (a normal line), curvatures and other factors on a trajectory are continuous along the trajectory, and means that a force exerted on a mechanical element moving along a trajectory changes continuously.

By the way, ball screws frequently used in robots, machine tools, assembly machines, inspection machines and others have a regression path of which mode is composed of connections of straight lines and circular arcs. Thus tangent lines and curvatures of a curve are not continuous and trajectory design is short of flexibility as well.

Another object of the present invention is to establish, in designing a circulation path of a ball of a ball screw, a circulation path which lessens loss of motion energy of the ball circulating along the path and which provides not only continuous tangent lines and curvatures on the circulation path but alto moderate changes in the curvatures in order that parts providing the circulation path are avoided from being damaged. A design method for the circulation path of the ball screw is an application of the above method for designing a motion trajectory that allows a mechanical element to move smoothly.

B. Numerical Control Method Using the Clothoid Curve:

A clothoid interpolation has been proposed by the inventors, which serves as an interpolation passing each point to be given two-dimensionally, and it has been known that this clothoid interpolation provides a smooth interpolation (refer to a non-patent reference 2). Hence, if a clothoid curve used by this interpolation is extended to a thee-dimensional one so that it is used for interpolation of a row of free points, it is supposed that, thanks to features of the clothoid curve expressed as a function of lengths of curves, control that allows a linear speed to be constant or to be changed depending on line lengths can be realized easily. In addition, because the curve lengths are assigned to a parameter, there is an advantage that it is unnecessary to post-calculate line lengths, unlike the other methods. It is thus expected that extending the clothoid interpolation to the three-dimensional one is effective in various fields including numeral control. As techniques created by extending the clothoid curve to the three-dimensional ones, some references including “3D Discrete Clothoid Splines” by Li et al. (refer to a non-patent reference 3) have been known. However, techniques created by three-dimensionally extending the clothoid curve and expressed in the formulated form have not been know yet. The extension in the formulated form is advantageous in easier calculation of each value.

Accordingly, for numerically controlling the motion of a machine tool, the present invention has an object to provide the definition expression of a novel three-dimensional clothoid curve which utilizes, as much as possible, the characteristics of a two-dimensional clothoid curve wherein changes in the curvatures vs. an independent variable show a simple pattern. In addition, the present invention has a further object to interpolate a row of points by using this three-dimensional clothoid curve.

A. Design Method for Industrial Products Using a Clothoid Curve:

Hereinafter, the invention according to a method for designing industrial products using the clothoid curve described in claims 1-10 will now be described.

The invention in claim 1 solves the foregoing problems by employing the method for designing industrial products, wherein the design method is characterized in that the shape of an industrial product is designed by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable.

The invention in claim 2 is characterized in that, in the design method for industrial products described in claim 1, the industrial product is a machine including a mechanism in which a mechanical element having a mass moves and a trajectory of motion of the mechanical element is designed by using the three-dimensional curve (referred to as the three-dimensional clothoid curve).

The invention in claim 3 is characterized in that, in the design method for industrial products described in claim 2, the machine is a screw device including a mechanism in which a ball as the mechanical element moves, the screw device comprises a screw shaft having an outer surface on which a spiral rolling element rolling groove is formed, a nut having an inner surface on which a load rolling element rolling groove is formed so as to be opposed to the rolling element rolling groove and a regression path is formed to connect a one end and the other end of the load rolling element rolling groove, and a plurality of rolling elements disposed between the rolling element rolling groove of the screw shaft and the load rolling element rolling groove of the nut and disposed in the regression path, and the regression path of the screw device is designed by using the three-dimensional curve (referred to as the three-dimensional clothoid curve).

The invention in claim 4 is characterized in that, in the design method for industrial products described in any one of claims 1 to 3, the three-dimensional clothoid curve is defined by the following expressions. $\begin{matrix} \left\lbrack {{Numeral}\quad 1} \right\rbrack & \quad \\ {{P = {{P_{0} + {\int_{0}^{s}{u{\mathbb{d}s}}}} = {P_{0} + {h{\int_{0}^{S}{u{\mathbb{d}S}}}}}}},{0 \leq s \leq h},{{0 \leq S} = {\frac{s}{h} \leq 1}}} & (1) \\ \begin{matrix} {u = {E^{k\quad\beta}{E^{j\quad\alpha}(i)}}} \\ {= {{\begin{bmatrix} {\cos\quad\beta} & {\sin\quad\beta} & 0 \\ {\sin\quad\beta} & {\cos\quad\beta} & 0 \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} {\cos\quad\alpha} & 0 & {\sin\quad\alpha} \\ 0 & 1 & 0 \\ {{- \sin}\quad\alpha} & 0 & {\cos\quad\alpha} \end{bmatrix}}\begin{Bmatrix} 1 \\ 0 \\ 0 \end{Bmatrix}}} \\ {= \begin{Bmatrix} {\cos\quad\beta\quad\cos\quad\alpha} \\ {\sin\quad{\beta cos}\quad\alpha} \\ {{- \sin}\quad\alpha} \end{Bmatrix}} \end{matrix} & (2) \\ {\alpha = {a_{0} + {a_{1}S} + {a_{2}S^{2}}}} & (3) \\ {{\beta = {b_{0} + {b_{1}S} + {b_{2}S^{2}}}},{wherein},} & (4) \\ \left\lbrack {{Numeral}\quad 2} \right\rbrack & \quad \\ {{P = \begin{Bmatrix} x \\ y \\ z \end{Bmatrix}},{P_{0} = \begin{Bmatrix} x_{0} \\ y_{0} \\ z_{0} \end{Bmatrix}}} & (5) \end{matrix}$ shows a positional vector at each point on the three-dimensional clothoid curve and its initial value, respectively.

Assume that the length of a curve from a starting point is s and its whole length (a length from the starting point to an end point) is h. A value produced by dividing s by h is expressed as S. S is a dimensionless value, which is called a curve length variable.

i, j and k are unit vectors in the x-axis, y-axis and z-axis directions, respectively.

u is a unit vector showing a tangential direction of a curve at a point P, which is given by Expression (2). E^(kβ) and E^(jα) are rotation matrices and represent an angular rotation of angle β about the k-axis and an angular rotation of angle α about the j-axis, respectively. The former is referred to as a yaw rotation, while the latter is referred to as a pitch rotation. Expression (2) means that the unit vector in the i-axis direction is rotated by an angle α about the j-axis, before being rotated by an angle β about the k-axis, thus producing a tangent vector u. a₀, a₁, a₂, b₀, b₁ and b₂ are constants.

The invention in claim 5 is characterized in that, in the design method for industrial products described in claim 4, a plurality of spatial points are specified in a three-dimensional coordinate and these spatial points are interpolated by using the three-dimensional clothoid curve, whereby the shape of the industrial product is designed.

The invention in claim 6 is characterized in that, in the design method for industrial products described in claim 5, seven parameters a₀, a₁, a₂, b₀, b₁, b₂ and h of the three-dimensional clothoid segments are calculated so that, between a one three-dimensional clothoid segment (a unit curve consisting of a group of curves produced on the interpolation) and the next three-dimensional clothoid segment (a unit curve consisting of a group of curves produced on the interpolation), positions, tangential directions, normal directions, and curvatures of both the one and next three-dimensional clothoid segments are made continuous to each other, respectively, at the plurality of spatial points.

The invention in claim 7 is characterized in that, in the design method for industrial products described in claim 6, the seven parameters a₀, a₁, a₂, b₀, b₁, b₂ and h of the three-dimensional clothoid segments are calculated by making the number of conditional expressions produced by mutual addition to be made between conditional expressions concerning the tangential directions, the normal directions and the curvatures at both the starting point and the end point and further conditional expressions allowing the positions, the tangential directions, the normal directions, and the curvatures of both the one and next three-dimensional clothoid segments to be made continuous to each other, respectively, at the plurality of spatial points agree with the unknowns of the seven parameters a₀, a₁, a₂, b₀, b₁, b₂ and h of the three-dimensional clothoid segments, whereby the conditional expressions is made agree with the unknowns in terms of number thereof, by specifying the tangential directions, the normal directions and the curvatures at the stating point and the and point among the plurality of spatial points and additionally inserting objective points being interpolated between the spatial points which have been specified in advance.

The invention in claim 8 is an industrial product designed by using the design method for industrial products according to any one of claims 1 to 7.

The invention in claim 9, which is for designing the shape of an industrial product, is a program enabling a computer to operate as means to design the shape of the industrial product by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable.

The invention in claim 10, which is for designing the shape of an industrial product, is a computer-readable recording medium recording thereon a program enabling a computer to operate as means to design the shape of the industrial product by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable.

B. Numerical Control Method Using the Clothoid Curve:

Hereinafter, the invention of a numerical control method using the clothoid curve, which is described in claims 11 to 27, will now be described.

The invention in claim 11 solves the foregoing problems by employing a numerical control method expressing a trajectory of a machine tool or the contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable and controlling motion of the machine tool based on the three-dimensional curve.

The invention in claim 12 is provided such that, in the numerical control method described in claim 11, the three-dimensional clothoid is defined by the following expressions. $\begin{matrix} \left\lbrack {{Numeral}\quad 3} \right\rbrack & \quad \\ {{P = {{P_{0} + {\int_{0}^{s}{u{\mathbb{d}s}}}} = {P_{0} + {h{\int_{0}^{S}{u{\mathbb{d}S}}}}}}},{0 \leq s \leq h},{{0 \leq S} = {\frac{s}{h} \leq 1}}} & (1) \\ \begin{matrix} {u = {E^{k\quad\beta}{E^{j\quad\alpha}(i)}}} \\ {= {{\begin{bmatrix} {\cos\quad\beta} & {{- \sin}\quad\beta} & 0 \\ {\sin\quad\beta} & {\cos\quad\beta} & 0 \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} {\cos\quad\alpha} & 0 & {\sin\quad\alpha} \\ 0 & 1 & 0 \\ {{- \sin}\quad\alpha} & 0 & {\cos\quad\alpha} \end{bmatrix}}\begin{Bmatrix} 1 \\ 0 \\ 0 \end{Bmatrix}}} \\ {= \begin{Bmatrix} {\cos\quad\beta\quad\cos\quad\alpha} \\ {\sin\quad{\beta cos}\quad\alpha} \\ {{- \sin}\quad\alpha} \end{Bmatrix}} \end{matrix} & (2) \\ {\alpha = {a_{0} + {a_{1}S} + {a_{2}S^{2}}}} & (3) \\ {{\beta = {b_{0} + {b_{1}S} + {b_{2}S^{2}}}},{wherein}} & (4) \\ \left\lbrack {{Numeral}\quad 4} \right\rbrack & \quad \\ {{P = \begin{Bmatrix} x \\ y \\ z \end{Bmatrix}},{P_{0} = \begin{Bmatrix} x_{0} \\ y_{0} \\ z_{0} \end{Bmatrix}}} & (5) \end{matrix}$ shows a positional vector at each point on the three-dimensional clothoid curve and its initial value, respectively.

Assume that the length of a curve from a starting point is s and its whole length (a length from the starting point to an end point) is h. A value produced by dividing s by h is expressed as S. S is a dimensionless value, which is called a curve length variable.

i, j and k are unit vectors in the x-axis, y-axis and z-axis directions, respectively.

u is a unit vector showing a tangential direction of a curve at a point P, which is given by Expression (2). E^(kβ) and E^(jα) are rotation matrices and represent an angular rotation of angle β about the k-axis and an angular rotation of angle α about the j-axis, respectively. The former is referred to as a yaw rotation, while the latter is referred to as a pitch rotation. Expression (2) means that the unit vector in the i-axis direction is rotated by an angle α about the j-axis, before being rotated by an angle β about the k-axis, thus producing a tangent vector u. In this Expression, a₀, a₁, a₂, b₀, b₁ and b₂ are constants.

The invention in claim 13 is a numerical control device expressing a trajectory of a machine tool or the contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable and controlling motion of the machine tool based on the three-dimensional curve.

The invention in claim 14, which is for numerically controlling motion of a machine tool, is a program enabling a computer to operate as means to express a trajectory of the machine tool or the contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable.

The invention in claim 15, which is for numerically controlling motion of a machine tool, is a computer-readable recording medium recording thereon either a program enabling a computer to operate as means to express a trajectory of the machine tool or the contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, or results computed based on the program.

The invention in claim 16 resolve the foregoing problems by employing a numerical control method comprising steps of interpolating points of a row of points arbitrarily given in a three-dimensional coordinate by using a three-dimensional curve (referred to as three-dimensional clothoid segments) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable and controlling motion of a machine tool based on the three-dimensional clothoid segments.

The invention in claim 17 is a numerical control method comprising a step of mutually connecting a plurality of three-dimensional clothoid curves (each of which is referred to as three-dimensional clothoid segments) in each of which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable and a step of controlling motion of a machine tool based on the plural three-dimensional clothoid segments.

The invention in claim 18 is provided such that, in the numerical control method described in claim 16 or 17, the three-dimensional clothoid curve is defined by the following expressions. $\begin{matrix} \left\lbrack {{Numeral}\quad 5} \right\rbrack & \quad \\ {{P = {{P_{0} + {\int_{0}^{s}{u{\mathbb{d}s}}}} = {P_{0} + {h{\int_{0}^{S}{u{\mathbb{d}S}}}}}}},{0 \leq s \leq h},{{0 \leq S} = {\frac{s}{h} \leq 1}}} & (1) \\ \begin{matrix} {u = {E^{k\quad\beta}{E^{j\quad\alpha}(i)}}} \\ {= {{\begin{bmatrix} {\cos\quad\beta} & {{- \sin}\quad\beta} & 0 \\ {\sin\quad\beta} & {\cos\quad\beta} & 0 \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} {\cos\quad\alpha} & 0 & {\sin\quad\alpha} \\ 0 & 1 & 0 \\ {{- \sin}\quad\alpha} & 0 & {\cos\quad\alpha} \end{bmatrix}}\begin{Bmatrix} 1 \\ 0 \\ 0 \end{Bmatrix}}} \\ {= \begin{Bmatrix} {\cos\quad\beta\quad\cos\quad\alpha} \\ {\sin\quad{\beta cos}\quad\alpha} \\ {{- \sin}\quad\alpha} \end{Bmatrix}} \end{matrix} & (2) \\ {\alpha = {a_{0} + {a_{1}S} + {a_{2}S^{2}}}} & (3) \\ {{\beta = {b_{0} + {b_{1}S} + {b_{2}S^{2}}}}{{wherein},}} & (4) \\ \left\lbrack {{Numeral}\quad 6} \right\rbrack & \quad \\ {{P = \begin{Bmatrix} x \\ y \\ z \end{Bmatrix}},{P_{0} = \begin{Bmatrix} x_{0} \\ y_{0} \\ z_{0} \end{Bmatrix}}} & (5) \end{matrix}$ shows a positional vector at each point on the three-dimensional clothoid curve and its initial value, respectively.

Assume that the length of a curve from a starting point is s and its whole length (a length from the starting point to an end point) is h. A value produced by dividing s by h is expressed as S. S is a dimensionless value, which is called a curve length variable.

i, j and k are unit vectors in the x-axis, y-axis and z-axis directions, respectively.

u is a unit vector showing a tangential direction of a curve at a point P, which is given by Expression (2). E^(kβ) and E^(jα) are rotation matrices and represent an angular rotation of angle β about the k-axis and an angular rotation of angle α about the j-axis, respectively. The former is referred to as a yaw rotation, while the latter is referred to as a pitch rotation. Expression (2) means that the unit vector in the i-axis direction is rotated by an angle α about the j-axis, before being rotated by an angle β about the k-axis, thus producing a tangent vector u. a₀, a₁, a₂, b₀, b₁ and b₂ are constants.

The invention in claim 19 is characterized in that, in the numerical control method according to claim 18, the seven parameters a₀, a₁, a₂, b₀, b₁, b₂ and h are calculated in such a manner that, at a connecting point between, of the plural three-dimensional clothoid segments, a single three-dimensional clothoid segment and the next three-dimensional clothoid segment thereto, positions and tangential directions (and in some cases, curvatures) of both three-dimensional clothoid segments are continuous, respectively. The positions and the tangential directions should always be continuous, respectively, and the curvatures are required to be continuous according to need.

The invention is claim 20 is a numerical control device interpolating points of a row of points arbitrarily given in a three-dimensional coordinate by using a three-dimensional curve in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable and controlling motion of a machine tool based on the three-dimensional clothoid segments.

The invention in claim 21 is a program, which is for numerically controlling motion of a machine tool, enabling a computer to operate as means to interpolate points of a row of points arbitrarily given in a three-dimensional coordinate by using a three-dimensional curve in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable and controlling the motion of the machine tool based on the three-dimensional clothoid segments.

The invention in claim 22 is a computer-readable recording medium, which is for numerically controlling motion of a machine tool, recording either a program enabling a computer as means for interpolating points of a row of points arbitrarily given in a three-dimensional coordinate by using a three-dimensional curve in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, or results calculated on the program.

The invention in claim 23 is a numerical control method comprising steps of expressing a trajectory of a machine tool or a contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, specifying motion of the machine tool to be moved along the three-dimensional curve, and calculating a moved position of the machine tool at unit-time intervals according to the specified motion, wherein the motion is defined as positional information changing as a function of time.

The invention in claim 24 is provided such that, in the numerical control method according to claim 23, the three-dimensional clothoid curve is defined by the following expressions. $\begin{matrix} \left\lbrack {{Numeral}\quad 7} \right\rbrack & \quad \\ {{P = {{P_{0} + {\int_{0}^{s}{u{\mathbb{d}s}}}} = {P_{0} + {h{\int_{0}^{S}{u{\mathbb{d}S}}}}}}},{0 \leq s \leq h},{{0 \leq S} = {\frac{s}{h} \leq 1}}} & (1) \\ \begin{matrix} {u = {E^{k\quad\beta}{E^{j\quad\alpha}(i)}}} \\ {= {{\begin{bmatrix} {\cos\quad\beta} & {{- \sin}\quad\beta} & 0 \\ {\sin\quad\beta} & {\cos\quad\beta} & 0 \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} {\cos\quad\alpha} & 0 & {\sin\quad\alpha} \\ 0 & 1 & 0 \\ {{- \sin}\quad\alpha} & 0 & {\cos\quad\alpha} \end{bmatrix}}\begin{Bmatrix} 1 \\ 0 \\ 0 \end{Bmatrix}}} \\ {= \begin{Bmatrix} {\cos\quad\beta\quad\cos\quad\alpha} \\ {\sin\quad{\beta cos}\quad\alpha} \\ {{- \sin}\quad\alpha} \end{Bmatrix}} \end{matrix} & (2) \\ {\alpha = {a_{0} + {a_{1}S} + {a_{2}S^{2}}}} & (3) \\ {{\beta = {b_{0} + {b_{1}S} + {b_{2}S^{2}}}}{{wherein},}} & (4) \\ \left\lbrack {{Numeral}\quad 8} \right\rbrack & \quad \\ {{P = \begin{Bmatrix} x \\ y \\ z \end{Bmatrix}},{P_{0} = \begin{Bmatrix} x_{0} \\ y_{0} \\ z_{0} \end{Bmatrix}}} & (5) \end{matrix}$ shows a positional vector at each point on the three-dimensional clothoid curve and its initial value, respectively.

Assume that the length of a curve from a starting point is s and its whole length (a length from the starting point to an end point) is h. A value produced by dividing s by h is expressed as S. S is a dimensionless value, which is called a curve length variable.

i, j and k are unit vectors in the x-axis, y-axis and z-axis directions, respectively.

u is a unit vector showing a tangential direction of a curve at a point P, which is given by Expression (2). E^(kβ) and E^(jα) are rotation matrices and represent an angular rotation of angle β about the k-axis and an angular rotation of angle α about the j-axis, respectively. The former is referred to as a yaw rotation, while the latter is referred to as a pitch rotation. Expression (2) means that the unit vector in the i-axis direction is rotated by an angle α about the j-axis, before being rotated by an angle β about the k-axis, thus producing a tangent vector u. a₀, a₁, a₂, b₀, b₁ and b₂ are constants.

The invention in claim 25 is a numerical control device which is configured to express a trajectory of a machine tool or a contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, specify motion of the machine tool to be moved along the three-dimensional curve, and calculate a moved position of the machine tool at unit-time intervals according to the specified motion, wherein the motion is defined as positional information changing as a function of time.

The invention in claim 26 is a program, which is for numerically controlling motion of a machine tool, enabling a computer to operate as means for expressing a trajectory of a machine tool or a contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, means for specifying motion of the machine tool to be moved along the three-dimensional curve, and means for calculating a moved position of the machine tool at unit-time intervals according to the specified motion, wherein the motion is defined as positional information changing as a function of time.

The invention in claim 27 is a computer-readable recording medium, which is for numerically controlling motion of a machine tool, recording thereon a program enabling a computer to operate as means for expressing a trajectory of a machine tool or a contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, means for specifying motion of the machine tool to be moved along the three-dimensional curve, and means for calculating a moved position of the machine tool at unit-time intervals according to the specified motion, wherein the motion is defined as positional information changing as a function of time.

A. Design Method for Industrial Products by Using the Clothoid Curve:

In the inventions according to claims 1-10, by using the three-dimensional clothoid curve, the motion of a mechanical element can be designed so that a trajectory of the motion becomes smooth. Designing the trajectory in this way makes it possible that machines move in a dynamically unforced condition, cause no deterioration in their functions due to motion errors, and have less damage in their trajectories.

In particular, as to a screw device, it is possible to provide a general method of producing a spatial curve which is necessary for designing circulating paths of the rolling elements in the screw device. It is possible to design the circulating paths so that changes in a restraining force exerted on a rolling element are smooth when the rolling element moves with acceleration and deceleration along a spatial curve on a circulating path. This feature allows the rolling element to move in a soft and smooth manner, thereby the efficiency of power transmission in the screw device is improved and friction force and inertia force are avoided from being generated excessively. Accordingly, with parts avoided from being damaged, screw devices with high reliability can be provided.

In addition, by utilizing the feature that a pattern of changes in curvature can be controlled, a large number of applications in various industrial fields can be provided. For example, in designing the shapes of objects to be designed in an aesthetic fashion, this versatile curve design method can be applied effectively to the design.

B. Numerical Control Method Using the Clothoid Curve:

In the inventions according to claims 11 to 27, a curve has a principal variable which is a curve length or a curve length variable and a pitch angle and a yaw angle in the tangential direction on the curve are provided quadratic expressions of the curve length or the curve length variable, respectively. Accordingly, differential coefficient of first order of the quadratic expression provides a normal direction and differential coefficient of second order of the quadratic expression provides a curvature. It is thus assured that the normal line and curvature are continuous in respect of the curve length or the curve length variable. In other words, the normal direction and curvature are continuous along one clothoid curve. It is therefore possible to provide smooth curves with high-quality characteristics, thus providing the numeral control technique that suppresses changes in velocity within a mechanically unforced range.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a graph showing a two-dimensional clothoid curve in an xy coordinate system;

FIG. 2 is a view showing the shape of a typical two-dimensional clothoid curve;

FIG. 3 is a view explaining the definition of a pitch angle α and a yaw angle β of a three-dimensional clothoid curve;

FIG. 4 is a view showing the shape of a typical three-dimensional clothoid curve;

FIG. 5 is a view showing an amount of changes in a unit normal vector;

FIG. 6 is a view showing two three-dimensional clothoid curves which are identical in their sizes and shapes to each other but are opposite in their directions to each other;

FIG. 7 is an illustration explaining dividing a three-dimensional clothoid curve;

FIG. 8 is an illustration explaining conditions for G²-continuous interpolation;

FIG. 9 conceptually shows osculating planes;

FIG. 10 is a flowchart outlining the procedures necessary for clothoid interpolation;

FIG. 11 is a flowchart outlining the procedures for the clothoid interpolation satisfying conditions of the G² continuity;

FIG. 12 is a view showing three-dimensional clothoid interpolation for points P₁, P₂ and P₃;

FIG. 13 is a view showing 3D Discrete Clothoid Splines of r=4;

FIG. 14 is an illustration for the 3D Discrete Clothoid Splines;

FIG. 15 is a perspective view of a three-dimensional Clothoid curve produced with the interpolation;

FIG. 16 is a graph showing changes in curvature, in which an axis of abscissas represents a moved distance and an axis of ordinate represents the curvature;

FIG. 17 is a flowchart outlining the three-dimensional clothoid interpolation that controls values at both end points;

FIG. 18 is an outlined view explaining the three-dimensional clothoid interpolation that controls values at both end points;

FIG. 19 is a perspective view showing results interpolated actually;

FIG. 20 is a graph showing the relationship between a distance moved from a starting point of each curve and a curvature of each curve;

FIG. 21 is a view showing control of values at a middle point;

FIG. 22 is a flowchart outlining an interpolation method that uses three-dimensional clothoids controlling each value at a starting point and an end point;

FIG. 23 is a view showing 3D Discrete Clothoid Splines of r=4;

FIG. 24 is a view showing a produced polygon;

FIG. 25 is a view explaining the three-dimensional clothoid curve for respective points P₁, P₂ and P₃;

FIG. 26 is a view showing both produced curves and polygon;

FIG. 27 is a view showing a curve into which points are inserted;

FIG. 28 is a view showing divided three-dimensional clothoid curves;

FIG. 29 is a perspective view showing a produced curve;

FIG. 30 is a graph showing the relationship between a distance s moved from a starting point of each curve and a curvature κ of each curve;

FIG. 31 is a perspective view showing a deflector type of ball screw in which a deflector is produced separately from a nut;

FIG. 32 is a perspective view showing a nut to be combined with a ball screw of which deflector composes one device with the nut;

FIG. 33A is a perspective view illustrating the nut in a state where a ball circulating groove can be seen;

FIG. 33B is a perspective view illustrating the nut in a state where a load ball rolling groove can be seen;

FIG. 34 is a side view showing a state where the nut is combined with a screw shaft;

FIG. 35 is a development elevation showing the circulating path of a conventional ball screw;

FIG. 36 is a graph showing curvatures of the circulating path of a conventional ball screw;

FIG. 37 is a view showing a trajectory depicted the center of a ball;

FIG. 38 shows a coordinate system;

FIG. 39 shows a coordinate system viewed downward along a z-axis;

FIG. 40 is a view showing a trajectory curve depicted by the center of a ball moving along a thread groove;

FIG. 41 is a view showing curves C₀ and C₁ viewed downward along a y-axis;

FIG. 42 is a view showing the curves C₀ and C₁ located in the vicinity of a point P_(s), which is viewed downward along the z-axis;

FIG. 43 is a view showing a curve into which a point P₂ is inserted;

FIG. 44 is a view showing the curve C₀ and a produced regression path;

FIG. 45 is a graph showing the relationship between a distance moved from a point P_(e) and a curvature;

FIG. 46 is a view for explaining a two-dimensional clothoid curve in the xy coordinate system;

FIG. 47 is a two-dimensional clothoid curve;

FIG. 48 is a view for explaining α and β of a three-dimensional clothoid curve;

FIG. 49 is a view showing a typical three-dimensional clothoid curve;

FIG. 50 is an illustration explaining conditions for G²-continuous interpolation;

FIG. 51 conceptually shows contacted surfaces;

FIG. 52 is a flowchart outlining the procedures necessary for clothoid interpolation;

FIG. 53 is a flowchart outlining the procedures for the clothoid interpolation satisfying conditions of the G² continuity;

FIG. 54 is a view showing three-dimensional clothoid interpolation for points P₁, P₂ and P₃;

FIG. 55 is a view showing 3D Discrete Clothoid Splines of r=4;

FIG. 56 is an illustration for the 3D Discrete Clothoid Splines;

FIG. 57 is a perspective view of a three-dimensional clothoid curve produced with the interpolation;

FIG. 58 is a graph showing changes in curvature, in which an axis of abscissas represents a moved distance and an axis of ordinate represents the curvature;

FIG. 59 is a flowchart outlining the three-dimensional clothoid interpolation that controls values at both end points;

FIG. 60 is an outlined view explaining the three-dimensional clothoid interpolation that controls values at both end points;

FIG. 61 is a perspective view showing results interpolated actually;

FIG. 62 is a graph showing the relationship between a distance moved from a starting point of each curve and a curvature of each curve;

FIG. 63 is a view showing control of values at a middle point;

FIG. 64 is a flowchart outlining an interpolation method that uses three-dimensional clothoids controlling each value at a starting point and an end point;

FIG. 65 is a view showing 3D Discrete Clothoid Splines of r=4;

FIG. 66 is a view showing a produced polygon;

FIG. 67 is a view explaining the three-dimensional clothoid curve for respective points P₁, P₂ and P₃;

FIG. 68 is a view showing both produced curves and polygon;

FIG. 69 is a view showing a curve into which points are inserted;

FIG. 70 is a view showing divided three-dimensional clothoid curves;

FIG. 71 is a perspective view showing a produced curve;

FIG. 72 is a graph showing the relationship between a distance s moved from a starting point of each curve and a curvature κ of each curve;

FIG. 73 is a flowchart explaining how to perform a numerical control method; and

FIG. 74 is a graph showing a conventional spline curve, which is introduced for the comparison.

BEST MODE FOR CARRYING OUT THE INVENTION

A. Design Method for Industrial Products Using a Clothoid Curve:

Hereinafter, an embodiment of a method for designing industrial products using a clothoid curve, which is according to the present invention, will now be described in turn based on listed items which are 1: definition and features of a three-dimensional clothoid curve, 2: an interpolation method using the three-dimensional clothoid curve, 3: a method for designing, with the use of a three-dimensional clothoid interpolation, the regression path of a ball screw serving as a screw device, and 4: a numerical control method using the three-dimensional clothoid interpolation.

1. Definition and Characteristics of a Three-Dimensional Clothoid Curve:

(1-1) Basic Expression of the Three-Dimensional Clothoid:

A clothoid curve (Clothoid curve), which is also called Cornu's spiral, is a curve whose curvature changes in proportion to the length of the curve.

A two-dimensional clothoid curve already proposed by the inventors is one kind of planer curves (two-dimensional curve) and is expressed by the following expressions defined in the xy coordinate shown in FIG. 1. $\begin{matrix} \left\lbrack {{Numeral}\quad 9} \right\rbrack & \quad \\ {{P = {{P_{0} + {\int_{0}^{s}{{\mathbb{e}}^{j\quad\phi}{\mathbb{d}s}}}} = {P_{0} + {h{\int_{0}^{S}{{\mathbb{e}}^{j\quad\phi}{\mathbb{d}S}}}}}}},{0 \leq s \leq h},{{0 \leq S} = {\frac{s}{h} \leq 1}}} & \left( {1\text{-}1} \right) \\ {{\phi = {{c_{0} + {c_{1}s} + {c_{2}s^{2}}} = {\phi_{0} + {\phi_{v}S} + {\phi_{u}S^{2}}}}}{wherein}} & \left( {1\text{-}2} \right) \\ \left\lbrack {{Numeral}\quad 10} \right\rbrack & \quad \\ {{P = {x + {j\quad y}}},{j = \sqrt{- 1}}} & \left( {1\text{-}3} \right) \end{matrix}$ is a positional vector representing a point on the curve and [Numeral 11] P ₀ =x ₀ +jy ₀   (1-4) is an initial value (a positional vector at a starting point) of the positional vector. [Numeral 12] e ^(jφ)=cos φ+j sin φ  (1-5) is a unit vector (a vector of which length is 1) representing a tangential direction on the curve and the direction φ is measured in the counterclockwise direction from an original line (x-axis direction). Multiplying this unit vector by an infinitesimal length ds and integrating the multiplied results leads to acquisition of a point P on the curve.

Let us assume that a length on the curve, which is measured along the curve from a starting point thereof, is s and a whole length (a length from the starting point to an end point of the curve) is h. A value obtained by dividing s by h is expressed as S. S is a dimensionless value, which is referred to as a curve length variable.

As shown in Expression (1-2), the clothoid curve has a feature that the tangential direction angle φ is expressed as a quadratic expression of the curve length s or the curve length variable S. c₀, c₁, and c₂ or φ_(o), φ_(u) and φ_(v) are coefficients of the quadratic expression, and these coefficients and the whole length h of the curve are called clothoid parameters. FIG. 2 shows the shape of a general clothoid curve.

The above relationships are expanded to the three-dimensional one to produce expressions presenting a three-dimensional clothoid curve. Conventionally, expressions which provide the three-dimensional clothoid curve have not been known. This time, however, the present inventors have completed this expansion for the first time in this field.

The three-dimensional clothoid curve is defined by the following expressions. $\begin{matrix} \left\lbrack {{Numeral}\quad 13} \right\rbrack & \quad \\ {{P = {{P_{0} + {\int_{0}^{s}{u{\mathbb{d}s}}}} = {P_{0} + {h{\int_{0}^{S}{u{\mathbb{d}S}}}}}}},{0 \leq s \leq h},{{0 \leq S} = {\frac{s}{h} \leq 1}}} & \left. \left( {1\text{-}6} \right) \right) \\ \begin{matrix} {u = {E^{k\quad\beta}{E^{j\quad\alpha}(i)}}} \\ {= {{\begin{bmatrix} {\cos\quad\beta} & {{- \sin}\quad\beta} & 0 \\ {\sin\quad\beta} & {\cos\quad\beta} & 0 \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} {\cos\quad\alpha} & 0 & {\sin\quad\alpha} \\ 0 & 1 & 0 \\ {{- \sin}\quad\alpha} & 0 & {\cos\quad\alpha} \end{bmatrix}}\begin{Bmatrix} 1 \\ 0 \\ 0 \end{Bmatrix}}} \\ {= \begin{Bmatrix} {\cos\quad\beta\quad\cos\quad\alpha} \\ {\sin\quad{\beta cos}\quad\alpha} \\ {{- \sin}\quad\alpha} \end{Bmatrix}} \end{matrix} & \left( {1\text{-}7} \right) \\ {\alpha = {a_{0} + {a_{1}S} + {a_{2}S^{2}}}} & \left( {1\text{-}8} \right) \\ {{\beta = {b_{0} + {b_{1}S} + {b_{2}S^{2}}}},{wherein}} & \left( {1\text{-}9} \right) \\ \left\lbrack {{Numeral}\quad 14} \right\rbrack & \quad \\ {{P = \begin{Bmatrix} x \\ y \\ z \end{Bmatrix}},{P_{0} = \begin{Bmatrix} x_{0} \\ y_{0} \\ z_{0} \end{Bmatrix}}} & \left( {1\text{-}10} \right) \end{matrix}$ denotes a positional vector at each point on the three-dimensional clothoid and an initial value of the positional vector, respectively. i, j and k are unit vectors in the x-axis, y-axis and z-axis directions, respectively.

u is a unit vector representing the tangential direction at the point P on the curve, which is given by Expression (1-7). In Expression (1-7), E^(kβ) and E^(jα) show rotation matrices and, as shown in FIG. 3, mean a rotation of angle β about the k-axis (z-axis) and a rotation of angle α about the j-axis (y-axis), respectively. The former is called a yaw rotation, while the latter is called a pitch rotation. Expression (1-7) thus means that rotating the unit vector in the i-axis (x-axis) direction by an angle α about the j-axis (y-axis) and then rotating the resultant unit vector by an angle β about the k-axis (z-axis) produces the tangential vector u.

In other words, in the case of the two-dimension, a unit vector e^(jφ) representing a tangential direction on a curve is obtained on a tilt angle φ made from the x-axis. In the case of the three-dimension, the tangential vector u on a curve can be obtained on the pitch angle α and the yaw angle β. A pitch angle of 0 provides a two-dimensional clothoid curve wound in the xy plane, while a yaw angle of 0 provides a two-dimensional clothoid curve wound in the xz plane. Multiplying the tangential vector u by an infinitesimal length ds and integrating the multiplied results provides a three-dimensional clothoid curve.

For the three-dimensional clothoid curve, the tangential vector has a pitch angle α and a yaw angle β which are given by a quadratic expression of the curve length variable S, as shown by Expressions (1-8) and (1-9), respectively. This enables free selection of changes of the tangential direction, while still giving continuousness to the changes.

As represented by the above expressions, the three-dimensional clothoid curve is defined as “a curve in which the pitch angle and the yaw angle of a tangential direction are expressed by a quadratic expression of a curve length variable, respectively.”

A single three-dimensional clothoid curve starting from P₀ is decided with seven parameters composed of

[Numeral 15] a₀, a₁, a₂, b₀, b₁, b₂, h   (1-11). The six variables of a₀ to b₂ have the unit of angle and represent the shape of a clothoid curve. In contrast, h has the unit of length, which represents the amplitude of a clothoid curve. A typical example of the three-dimensional clothoid curve is a spiral curve, as shown in FIG. 4.

(1-2) Frenet Frame and Curvature on the Three-Dimensional Clothoid Curve:

Let us assume that an arbitrary three-dimensional curve is expressed by R(t) which uses t as a parameter. In particular, assume that this expression is denoted by R(s) which uses s as a parameter expressing a distance moving from a starting point of the curve.

When the absolute values of relative positional vectors dR(s) at two points on a curve, which provide a difference of ds, is regarded as a line element ds, there is a relationship between ds and dt, which is expressed by the following Expression (2-1). For the sake of a simplified explanation, differentiating R with regard to a parameter t is denoted by a character with a dot atop thereof. $\begin{matrix} \left\lbrack {{Numeral}\quad 16} \right\rbrack & \quad \\ {{\mathbb{d}s} = {{{\mathbb{d}{R(t)}}} = {{{\frac{\mathbb{d}{R(t)}}{\mathbb{d}t}}{\mathbb{d}t}} = {{\overset{.}{R}} = {\sqrt{\overset{.}{R} \cdot \overset{.}{R}}{\mathbb{d}t}}}}}} & \left( {2\text{-}1} \right) \end{matrix}$

Since a unit tangential vector u(t) is created by normalizing a line element vector dR(t) of a curve, the unit tangential vector can be expressed by Expression (2-2) with reference to Expression (2-1). $\begin{matrix} \left\lbrack {{Numeral}\quad 17} \right\rbrack & \quad \\ {{u(t)} = {\frac{\mathbb{d}{R(t)}}{{\mathbb{d}{R(t)}}} = {\frac{\mathbb{d}{R(t)}}{\mathbb{d}s} = \frac{\overset{.}{R}}{{\overset{.}{R}(t)}}}}} & \left( {2\text{-}2} \right) \end{matrix}$

A change amount du of the unit tangential vector will then be considered. FIG. 5 shows a change amount of a unit normal vector. For a linear line, the tangential direction is constant, resulting in du(t)={0, 0, 0}. This is not true of curves, however. The change amount du of a unit tangential vector at a position distant from by a distance ds is perpendicular to a normal vector u. This also clearly understood from the fact that differentiating a relationship of u·u=1 provides an orthogonal relationship of u·du=0. The normalization of the change amount du of this unit tangential vector creates a unit principal normal vector n(t). That is, the unit principal normal vector n(t) is expressed by Expression (2-3). $\begin{matrix} \left\lbrack {{Numeral}\quad 18} \right\rbrack & \quad \\ {{n(t)} = \frac{\overset{.}{u}(t)}{{\overset{.}{u}(t)}}} & \left( {2\text{-}3} \right) \end{matrix}$

The normal direction is treated such that a leftward direction to be obtained when a person turns to a tangential direction is regarded as being a positive normal direction. To be more accurate, in a plane formed by both the vector du and the unit tangential vector u(t), a direction created by a counterclockwise rotation of 90 degrees from the unit tangential vector u(t) is defined as a positive direction to the unit principal normal vector n(t).

In addition, a binormal vector b(t) is a vector perpendicular to both the unit tangential vector u(t) and the unit principal normal vector n(t) and is defined by Expression (2-4).

[Numeral 19] b(t)=u(t)×n(t)   (2-4)

A set of three vectors [u(t), n(t), b(t)], which is a combination of the unit tangential vector u (t), unit principal normal vector n(t), binormal vector b(t) which are defined above, is referred to as frenet frame at a position R(t) on a curve.

A curvature k will now be described, which is a ratio at which the unit tangential vectors are turned along the linear elements of a curve. A three-dimensional curvature is defined by Expression (2.5). $\begin{matrix} \left\lbrack {{Numeral}\quad 20} \right\rbrack & \quad \\ {{\kappa(t)} = \frac{{{\overset{.}{R}(t)} \times {\overset{¨}{R}(t)}}}{{{\overset{.}{R}(t)}}^{3}}} & \left( {2\text{-}5} \right) \end{matrix}$

As defined above, the fundamental amounts concerning the three-dimensional curve are denoted with the expressions that use the curve length variable S as a parameter in the three-dimensional clothoid curve.

When any three-dimensional clothoid curve P(S) is considered, the unit tangential vector u(S) can be expressed by Expression (2-6) with the help of Expression (2-2). $\begin{matrix} \left\lbrack {{Numeral}\quad 21} \right\rbrack & \quad \\ {{u(S)} = \frac{P^{\prime}(S)}{{P^{\prime}(S)}}} & \left( {2\text{-}6} \right) \end{matrix}$

In addition, when taking the definition Expressions (1-7), (1-8) and (1-9) of the three-dimensional clothoid curve into account, the unit tangential vector u(S) can be expressed in the form of Expression (2-7) as well. In the present specification, this expression is used as a main expressing way. $\begin{matrix} \left\lbrack {{Numeral}\quad 22} \right\rbrack & \quad \\ {{u(S)} = \begin{Bmatrix} {\cos\quad\beta\quad(S)\quad\cos\quad\alpha\quad(S)} \\ {\sin\quad\beta\quad(S)\quad\cos\quad\alpha\quad(S)} \\ {{- \sin}\quad\alpha\quad(S)} \end{Bmatrix}} & \left( {2\text{-}7} \right) \end{matrix}$

The differential coefficient of first order of the tangential vector u(S) of a three-dimensional clothoid curve with respect to the curve length variable S creates Expression (2-8) and its amplitude is expressed by Expression (2-9). $\begin{matrix} \left\lbrack {{Numeral}\quad 23} \right\rbrack & \quad \\ {{u^{\prime}(S)} = \begin{Bmatrix} {{{- \alpha^{\prime}}\quad(S)\quad\cos\quad\beta\quad(S)\quad\sin\quad\alpha\quad(S)} - {{\beta^{\prime}(S)}\quad\sin\quad\beta\quad(S)\quad\cos\quad\alpha\quad(S)}} \\ {{{- {\alpha^{\prime}(S)}}\sin\quad\beta\quad(S)\quad\sin\quad\alpha\quad(S)} - {{\beta^{\prime}(S)}\quad\cos\quad\beta\quad(S)\quad\cos\quad\alpha\quad(S)}} \\ {{- {\alpha^{\prime}(S)}}\quad\cos\quad\alpha\quad(S)} \end{Bmatrix}} & \left( {2\text{-}8} \right) \\ {{{u^{\prime}(S)}} = \sqrt{{\alpha^{\prime}(S)}^{2} + {{\beta^{\prime}(S)}^{2}\cos^{2}\alpha\quad(S)}}} & \left( {2\text{-}9} \right) \end{matrix}$

The unit principal normal vector n(S) will now be considered. The normal vector to a three-dimensional curve is expressed by Expression (2-3), so that the normal vector to a three-dimensional clothoid curve is to be expressed by Expression (2-10). $\begin{matrix} \left\lbrack {{Numeral}\quad 24} \right\rbrack & \quad \\ {{n(S)} = {\frac{u^{\prime}(S)}{{u^{\prime}(S)}} = {\frac{1}{\sqrt{{\alpha^{\prime}(S)}^{2} + {{\beta^{\prime}(S)}^{2}\cos^{2}\alpha\quad(S)}}}\begin{Bmatrix} {{{- \alpha^{\prime}}\quad(S)\quad\cos\quad\beta\quad(S)\quad\sin\quad\alpha\quad(S)} - {{\beta^{\prime}(S)}\quad\sin\quad\beta\quad(S)\quad\cos\quad\alpha\quad(S)}} \\ {{{- {\alpha^{\prime}(S)}}\sin\quad\beta\quad(S)\quad\sin\quad\alpha\quad(S)} + {{\beta^{\prime}(S)}\quad\cos\quad\beta\quad(S)\quad\cos\quad\alpha\quad(S)}} \\ {{- {\alpha^{\prime}(S)}}\quad\cos\quad\alpha\quad(S)} \end{Bmatrix}}}} & \left( {2\text{-}10} \right) \end{matrix}$

As to the binormal vector b(t), Expression (2-4) is used to obtain the binormal vector using both the unit tangential vector u(S) on Expression (2-7) and the unit principal normal vector n(S) on Expression (2-10).

[Numeral 25] b(S)=u(S)×n(S)   (2-11)

Finally, as to the curvature, Expression (2-5) is deformed to express the curvature as shown in Expression (2-12). $\begin{matrix} \left\lbrack {{Numeral}\quad 26} \right\rbrack & \quad \\ \begin{matrix} {{\kappa\quad(S)} = \frac{{{P^{\prime}(S)} \times {P^{''}(S)}}}{{{P^{\prime}(S)}}^{3}}} \\ {= \frac{{u^{\prime}(S)}}{h}} \\ {= \frac{\sqrt{{\alpha^{\prime}(S)}^{2} + {\beta^{\prime}\quad(S)^{2}\cos^{2}\alpha\quad(S)}}}{h}} \end{matrix} & \left( {2\text{-}12} \right) \end{matrix}$

As described above, the frenet frame and the curvature k at each point on a three-dimensional clothoid curve can be obtained by the curvature length variable S.

(1-3) Production of Three-Dimensional Clothoid Curve Having Opposite Direction:

As shown in FIG. 6, the production of the three-dimensional clothoid curve whose amplitude and shape are the same and direction is opposite as and to those of a selected three-dimensional clothoid curve will now be explained.

Assume that there is a three-dimensional clothoid curve C₁ which has a starting point P_(s) and an end point P_(e) and has clothoid parameters for a three-dimensional clothoid curve which are decided by seven values made up of h, a₀, a₁, a₂, b₀, b₁ and b₂. In such a case, tangential rotation angles α₁ and β₁ are expressed by the following Expressions (2-13) and (2-14).

[Numeral 27] α₁ =a ₀ +a ₁ S+a ₂ S ²   (2-13) β₁ =b ₀ +b ₁ S+b ₂ S ²   (2-14)

In the three-dimensional clothoid curve C₂ having the same size and shape and the opposite direction as and to those of this three-dimensional clothoid curve, P′_(s)=P_(e) and P′_(e)=P_(s) are accomplished, wherein the curve C₂ has a starting point P′_(s) and an end point P′_(e). When a curve length h is first considered, the curve lengths of the curves C₁ and C₂ are mutually equal, because the sizes are equal to each other. When the fact that a tangential line t to the three-dimensional clothoid curve C₂ is oppositely directed to a tangential line t to the three-dimensional clothoid curve C₁ whose coordinates are always the same is considered, it is understood that the following relationships exist between the tangential rotation angles α₁ and β₁ of the curve C₁ and the tangential rotation angles α₂ and β₂ of the curve C₂.

[Numeral 28] α₂(S)=α₁(1−S)+π  (2-15) β₂(S)=β₁(1−S)   (2-16)

The above-described expressions can be summarized into an equation on the following Expressions (2-17) and (2-18).

[Numeral 29] α₂(S)=(a ₀ +a ₁ +a ₂+π)−(a ₁+2a ₂)S+a ₂ S ²   (2-17) β₂(S)=(b ₀ +b ₁ +b ₂)−(b ₁+2b ₂)S+b ₂ S ²   (2-18)

These expressions allow the remaining parameters to be decided, so that the clothoid parameters of the curve C₂, which are h′, a′₀, a′₁, a′₂, b′₀, b′₁, and b′₂, can be expressed using the parameters of the curve C₁. $\begin{matrix} \left\lbrack {{Numeral}\quad 30} \right\rbrack & \quad \\ \left\{ \begin{matrix} {P_{s}^{\prime} = P_{e}} \\ {a_{0}^{\prime} = {a_{0} + a_{1} + a_{2} + \pi}} \\ {a_{1}^{\prime} = {- \left( {a_{1} + {2\quad a_{2}}} \right)}} \\ {a_{2}^{\prime} = a_{2}} \\ {b_{0}^{\prime} = {b_{0} + b_{1} + b_{2}}} \\ {b_{1}^{\prime} = {- \left( {b_{1} + {2\quad b_{2}}} \right)}} \\ {b_{2}^{\prime} = b_{2}} \\ {h^{\prime} = h} \end{matrix} \right. & \left( {2\text{-}19} \right) \end{matrix}$

The use of this relationship produces a three-dimensional clothoid curve of which size and shape are the same and direction is opposite.

(1-4) Division of Three-Dimensional Clothoid Curve

Let us assume that there is a three-dimensional clothoid curve C₀ which have not only a starting point P1 and an end point P₂ but also clothoid parameters decided by seven quantities h, a₀, a₁, a₂, b₀, b₁ and b₂. In this case, how to divide the three-dimensional clothoid curve C₀ connecting both of the points P₁ and P₂ into curves C₁ and C₂ divided at a point P_(m) providing a curve length parameter S=S_(d), as shown in FIG. 7, will now be described.

Of the divided curves, the curve C1 having the starting point P1 will first be described. With respect to its curve length h, the definition of a three-dimensional clothoid curve gives the fact that the curve C₁ has a curve length h₁ equal to S_(d) times larger than a curve length h₀ of the curve C₀. Further, when it is assumed that a curve length variable of the curve C₀ is denoted by S₀ and a curve length variable of the curve C₁ is denoted by S₁ and those variables mean points on the same curve C₁, the following relationship is accomplished among these quantities.

[Numeral 31] S₁=S_(d)S₀   (2-20)

Namely, between tangential rotation angles α₀ and β₀ and tangential rotation angles α₁ and β₁, it is understood that the following relationships exist.

[Numeral 32] α₁(S ₁)=α₀(S _(d) S ₀) β₁(S ₁)=β₀(S _(d) S ₀)   (2-21)

Arrangement of these expressions leads to the equations in the following Expressions (2-22).

[Numeral 33] α₁(S)=a ₀ +a ₁ S _(d) S+a ₂ S _(d) ² S ² β₁(S)=b ₀ +b ₁ S _(d) S+b ₂ S _(d) ² S ²   (2-22)

These expressions define tangential directions, so that the clothoid parameters h′, a′₀, a′₁, a′₂, b′₀, b′₁, and b′₂ of the curve C₁ can be expressed by the following Expression (2-23) that uses the parameters of the curve C⁰. $\begin{matrix} \left\lbrack {{Numeral}\quad 34} \right\rbrack & \quad \\ \left\{ \begin{matrix} {a_{0}^{\prime} = a_{0}} \\ {a_{1}^{\prime} = {a_{1}S_{d}}} \\ {a_{2}^{\prime} = {a_{2}S_{d}^{2}}} \\ {b_{0}^{\prime} = b_{0}} \\ {b_{1}^{\prime} = {b_{1}S_{d}}} \\ {b_{2}^{\prime} = {b_{2}S_{d}^{2}}} \\ {h^{\prime} = {h\quad S_{d}}} \end{matrix} \right. & \left( {2\text{-}23} \right) \end{matrix}$

The curve C₂ of which starting point is served by the dividing point P_(m) will then be described. As to this curve C₂, the production can be achieved by combining the technique for producing a curve having the same size and shape but the opposite direction, described in the foregoing section 1-3, with the technique for producing the curve C₁.

First of all, let us assume that a curve of which size and shape are the same as those of the curve C₀ but of which direction is opposite to that of curve C₀ is given by a curve C′₀. On this curve, a dividing point P_(m) is expressed by P_(m) =C′ ₀ (1−S_(d)). Let us assume again that the curve C′₀ is divided at the point P_(m). In that case, of the divided curves, a curve C′₂ starting at a point P₂ has the same size and shape as those of the curve C₂ but has the opposite direction to that of the curve C₂. Because both techniques described in the forgoing section 1-3 and used in the production of the curve C₁ allow the curve C′₂ to be produced, applying the technique described in the section 1-3 to the curve C′₂ makes it possible to produce the curve C₂.

Thus this curve C₂ has clothoid parameters h″, a″₀, a″₁, a″₂, b″₀, b″₁, and b″₂ which can be expressed by using the parameters of the curve C₀, as shown in the following Expression (2-24). $\begin{matrix} \left\lbrack {{Numeral}\quad 35} \right\rbrack & \quad \\ \left\{ \begin{matrix} {a_{0}^{''} = {a_{0} + {a_{1}S_{d}} + {a_{2}S_{d}^{2}}}} \\ {a_{1}^{''} = {\left( {1 - S_{d}} \right)\left\{ {a_{1} + {2\quad a_{2}S_{d}}} \right\}}} \\ {a_{2}^{''} = {a_{2}\left( {1 - S_{d}} \right)}^{2}} \\ {b_{0}^{''} = {b_{0} + {b_{1}S_{d}} + {b_{2}S_{d}^{2}}}} \\ {b_{1}^{''} = {\left( {1 - S_{d}} \right)\left\{ {b_{1} + {2\quad b_{2}S_{d}}} \right\}}} \\ {b_{2}^{''} = {b_{2}\left( {1 - S_{d}} \right)}^{2}} \\ {h^{''} = {h\left( {1 - S_{d}} \right)}} \end{matrix} \right. & \left( {2\text{-}24} \right) \end{matrix}$

As stated above, a curve can be divided into a curve C₁ and a curve C₂ at a dividing point P_(m) providing the curve length variable S=S_(d) on a three-dimensional clothoid curve C₀.

(1-5) Characteristics of the Thee-Dimensional Clothoid Curve:

(a) Continuity of the Curve:

In the case of a single clothoid curve (i.e., a clothoid curve represented by the same parameters), pitch angles and yaw angles made by its tangential directions are given by quadratic expressions with a curve length variable S, respectively. Thus it is guaranteed that normal directions obtained by applying differential coefficient of first order to the quadratic expressions and curvatures to be obtained by two-time differential to that are continuous with the respect to the curve length variable S. In other words, each one clothoid curve has normal lines and curvatures, which change continuously along the one clothoid curve. Accordingly a smooth and good quality curve can be obtained. In the case that two clothoid curves are mutually connected, it is sufficient to select parameters to permit tangential lines, normal lines, and curvatures to be continuous at their connecting point. This selection manner will produce a one smoothly connected line, called a clothoid curve group.

(b) Applicability:

Because the tangential directions of curves can be swung with changing two angles (pitch angle and yaw angle), an arbitrary three-dimensional curve can be produced in conformity with various conditions for various applications. Thus it is possible to provide a wide use spatial curves necessary for designing industrial products. In cases where an object moves at accelerated and decelerated speeds along a spatial curve, it is possible to work out a design such that changes in a binding force are smooth. In addition, changes in the curvature to the curve length can be designed properly, effective applicability can be achieved in various industrial fields, such as production of aesthetic design curves.

(c) Consistency with Geometric Curves:

Geometric curves, such as liner segments, circular arches, and screw curves, can be produced by giving zero to some of the clothoid parameters or giving particular functional relationships to some of the parameters. The curves to be produced in those ways are a kind of clothoid curves, so that they can be expressed in the format of clothoids.

Furthermore, by replacing either α or β at any time, a two-dimensional clothoid can be made. Thus, resources which have already been acquired concerning the two-dimensional clothoid can be utilized well.

That is, proper setting of α or β makes it possible to express individual curves, such as circular arches and liner segments, including the already known two-dimensional clothoid. Such respective curves can be expressed by using the expressions having the same format as that for expressing the thee-dimensional clothoid curve, thereby simplifying the computation procedures.

(d) Good Perspective:

In mathematizing free curves using the conventional interpolation techniques including the spline interpolation, it is frequent that the whole shape or a local shape is difficult to understand. In contrast, for using the three-dimensional clothoid, it is possible to imagine each of a pitch angle and a yaw angle, with the result that the whole shape can be grasped in a relatively easier manner.

In addition, on completion of expressing a curve as a clothoid curve, the line lengths, tangential directions, curvatures thereof have been known. Thus, unlike the conventional interpolation techniques, there is no need for new computation. Namely, correspondingly to the parameters S for a curve, the tangential lines, normal lines, and the curvature of the curve can be obtained in a direct manner, as shown in Expressions in (1-7), (2-10) and (2-12).

(e) Easiness of Motion Control:

The main variable of a curve is the length s or the normalized length S, and the equation of this curve is given by a natural equation with regard to the length. Hence, by defining the length s as a function of the time t, an arbitrary characteristic of motion, which is for example an accelerated and decelerated motion, can be given. By employing motion curves having good characteristics, which have conventionally been used for cams, processing operations can be made faster. The length s is given as a value in the existing Cartesian space and velocity and acceleration are calculated in tangential directions, resulting in that it is not necessary to synthesize values given every axis, unlike the conventional interpolation method. Additionally, the curvature can be calculated with easiness, whereby a centrifugal acceleration of an object in motion can be obtained with easiness. Thus control can be conducted depending on motion trajectories.

2. Interpolation Method Using a Three-Dimensional Clothoid Curve:

(2-1) Mathematical Conditions with Smooth Connection:

A single three-dimensional clothoid curve has a limitation on expressing the shapes of curves. In this section, with employing the numerical control of motion of a machine tool as a main purpose, a plurality of three-dimensional clothoid curves (three-dimensional clothoid segments) are mutually connected for designing industrial products. Hereinafter, the interpolation that uses a three-dimensional curve is referred to as a three-dimensional clothoid interpolation and a group of curves to be produced by the interpolation is referred, as a whole, to as a three-dimensional clothoid curve, which is composed by a plurality of unit curves each referred to as a three-dimensional clothoid segment.

When two three-dimensional clothoid segments are smoothly connected at their end points, this results in a definition that their end positions, tangential lines and curvatures are continuously connected, respectively. Using the foregoing definition expressions, conditions for those connections can be described as below, in which the first three expressions show the continuity of positions, the next two expressions show the continuity of tangential lines, the next one expression shows the agreement of normal lines, and the last expression shows the continuity of curvatures.

[Numeral 36] Px _(i)(1)=Px _(i+1)(0) Py _(i)(1)=Py _(i+1)(0) Pz _(i)(1)=Pz _(i+1)(0) α_(i)(1)=α_(i+1)(0) β_(i)(1)=β_(i+1)(0) tan γ_(i)(1)=tan γ_(i+1)(0) κ_(i)(1)=κ_(i+1)(0)   (3-1)

These expressions provide sufficient conditions for achieving the continuity of tangential lines, normal lines, curvatures, and α and β at connecting points, and in some cases, these conditions are too strict to be applied. By taking such conditions into consideration, those conditions can be changed so as to meet the conditions in an original viewpoint, and the changed expressions are as follows.

[Numeral 37] Px _(i)(1)=Px _(i+1)(0) Py _(i)(1)=Py _(i+1)(0) Pz _(i)(1)=Pz _(i+1)(0) cos [α_(i)(1)−α_(i+1)(0)]=1 cos [β_(i)(1)−β_(i+1)(0)]=1 tan γ_(i)(1)=tan γ_(i+1)(0) κ_(i)(1)=κ_(i+1)(0)   (3-2)

Further, when a relationship of

[Numeral 38] cos [α_(i)(1)−α_(i+1)(0)]=1 is taken into account, [Numeral 39] tan γ_(i)(1)=tan γ_(i+1)(0) is replaced by the following conditions. [Numeral  40] tan   γ_(i)(1) = tan   γ_(i + 1)(0) $\frac{\alpha_{i}^{\prime}(1)}{{\beta_{i}^{\prime}(1)}\quad\cos\quad{\alpha_{i}(1)}} = {{\frac{\alpha_{i + 1}^{\prime}(0)}{{\beta_{i + 1}^{\prime}(0)}\quad\cos\quad{\alpha_{i + 1}(0)}}\because{{\alpha_{i}^{\prime}(1)}{\beta_{i + 1}^{\prime}(0)}}} = {{\alpha_{i + 1}^{\prime}(0)}{\beta_{i}^{\prime}(1)}}}$

As a result, it is understood that satisfying the following conditions leads to achievement of the object.

[Numeral 41] Px _(i)(1)=Px _(i+1)(0) Py _(i)(1)=Py _(i+1)(0) Pz _(i)(1)=Pz _(i+1)(0) cos [α_(i)(1)−α_(i+1)(0)]=1 cos [β_(i)(1)−α_(i+1)(0)]=1 α′_(i)(1)β′_(i+1)(0)=α′_(i+1)(0)β′_(i)(1) κ_(i)(1)=κ_(i+1)(0)   (3-3)

In Expression (3-3), the first three expressions show the continuity of positions, the next two expressions show the continuity of tangential directions, the next one expression shows the agreement of normal lines, and the last expression show the continuity of curvatures, respectively. To perform a G²-continuous interpolation, it is required that two three-dimensional clothoid curves should meet the seven conditional expressions in Expression (3-3) at their end points.

The G² continuity (G stands for the acronym of Geometry) will now be complemented. FIG. 8 illustrates conditions required for the G²-continuous interpolation.

G⁰ continuity is that two three-dimensional clothoid curves positionally agree with each other at their end points, G¹ continuity is that tangential directions of those agree with each other, and G² continuity is that osculating planes (normal lines) and curvatures respectively agree with each other. In Table 1 shown below, comparison will now be made between C⁰-C² continuity used by spline curves and G⁰-G² continuity used in clothoid curves according to the present invention. TABLE 1 C⁰: positions G⁰: positions C¹: the primary G¹: tangential directions differential coefficients C²: the secondary G²: osculating planes differential (normal coefficients lines) and curvatures

In terms of consideration of the continuity of two three-dimensional clothoid curves, the interpolation conditions are made more stricter as the continuity degrees advance from C⁰ to C¹, and to C² and from G⁰ to G¹, and to G². Though the C¹ continuity requires that the size and direction of the tangential lines agree with each other, it is sufficient that the G¹ continuity requires the agreement of only the tangential directions. For smoothly connecting the tangential lines between two three-dimensional clothoid curves, it is preferable to create the conditional expressions on the G¹ continuity. Creating conditional expressions based on the C¹ continuity, like the spline curves, results in too strict conditions, because the creation inevitably involves with a condition that the sizes of tangential lines should be made agree with each other, even though such a condition has no geometrical relationship. Creating the conditional expressions on the G¹ continuity is advantageous in that the amplitudes of primary differential coefficients are set to any values freely.

In the G² continuity, osculating planes (i.e., normal lines) are made to agree with each other. The osculating planes, as shown in FIG. 9, mean planes S1 and S2 in which a curve C is included locally. In FIG. 9, an example is shown where the osculating planes S1 and S2 are discontinuous at a point P, regardless of the continuity of the tangential directions kept at the point P. When consideration is given to the continuity of thee-dimensional curves, the matter which comes next to the agreement of tangential directions is an agreement of osculating planes. A discussion of curvatures should be based on an agreement of the osculating planes, and if not so, the discussion is meaningless. Making the osculating planes agree with each other should precede making the curvatures agree with each other. A condition satisfying the G² continuity is that the coordinates, tangential directions, osculating planes (normal lines), and curvatures are respectively made to agree with each other between two three-dimensional curves.

(2-2) Practical Computation Procedures:

There are provided two types of computation procedures.

(a) By setting the parameters h, α and β of a curve to produce a single three-dimensional clothoid curve, the parameters of the next three-dimensional curve are decided to meet Expression (3-3) at an end point of the produced curve. In this way, three-dimensional clothoid curves connectable in turn in a smooth manner can be produced. Using these computation procedures, the curve parameters can be computed easily, and a solution on this computation way is called a sequential solution. This computation way enables the production of a variety of shapes of curves in an easier manner, but it is impossible to explicitly specify the connecting points through which the curves pass.

(b) In order that a group of points specified in advance may compose the connecting points of curves, three-dimensional clothoid curves can be connected to each other. In this section, there is provided an example in which a short clothoid curve (clothoid segment) is produced for every span in a row of points given discretely. In such a case, the computation procedures to decide the curve parameters so as to meet Expression (3-3) is more complicated than that described in the foregoing item (a), requiring a repeated convergence computation. This computation involves a series of inverse procedures that the curve parameters are decided from connecting conditions, so that a resultant solution is called an inverse solution.

Concerning the inverse solution in the above item (b), how to compute will now be detailed. A question to be solved is formulated as follows:

Unknown Parameters: Curve Parameters

Constraint Conditions: Expression (3-3) or Part Thereof

Depending on questions to be solved, the number of constraint conditions is changed and curve parameters of which number corresponds to the number of constraint conditions are set as unknown parameters. For example, in the case that the continuity of curvatures is not demanded, part of the curve parameters can be adjusted freely. Alternatively, when it is demanded those curvatures are kept continuous but tangential directions are specified, it is required that the number of three-dimensional clothoid curves to be used for the interpolation be increased by division so as to increase the number of corresponding unknown curve parameters.

In order to converge the above repeated convergence computation in a stabilized manner, the computation should be cogitated. To avoid the computation from diverging for speeding up the convergence, setting optimum initial values of the unknown values is effective. For doing so, it is effective to gain initial values for the repeated convergence computation by generating a simpler interpolation curve (for example, such a curve is a linear spline curve), which still meets constraint conditions concerning given connecting points and/or others, estimating the shape of the curve to obtain curve parameters of three-dimensional clothoid curves, and using such curve parameters as the initial values.

Alternatively, without requiring constraint conditions to be met at once, a technique by which conditional expressions are increased sequentially is still effective as the way for gaining a solution with stability. For example, the procedures for generating a curve are divided into the following three steps, which are executed in sequence. In the first step, interpolation is made such that pieces of positional information agree with each other and also tangential directions agree with each other. In the second step, interpolation is made to allow normal lines to agree with each other, and in the third step, interpolation is also made to allow curvatures to agree with each other. This technique is outlined as a flowchart in FIG. 10. The necessary three-dimensional clothoid curve equations and the definition equations for the tangential lines, normal lines, and curvatures thereof have already been explained.

(2-3) Embodiment of the Interpolation Method Using the Three-Dimensional Clothoid Curve:

(a) Flow of Interpolation Method:

One embodiment of the technique with which a three-dimensional clothoid curve is used to smoothly interpolate each interval between points which are part of a row of points will now be detailed.

The basic flow of the three-dimensional clothoid interpolation is such that the respective parameters of a three-dimensional clothoid segment connecting two points being interpolated are set to unknowns, and a curve is produced by obtaining a solution with the Newton-Rapson method, in which the solution meeting the conditions that points being interpolated are passed strictly and the G² continuity is kept. This way is outlined as a flowchart in FIG. 11. The G² continuity is that, with regard to two three-dimensional clothoid curves, the potions, tangential directions, normal directions, and curvatures at end points of the curves agree with each other parameter by parameter.

(b) Conditions of G²-Continuous Interpolation:

Practical conditions which allow points being interpolated to be passed strictly and the G² continuity is kept will now be described.

Now assume a simple case in which there are three points P₁={Px₁, Py₁, Pz₁}, P₂={Px₂, Py₂, Pz₂}, and P₃={Px₃, Py₃, Pz₃} and these points are interpolated by using three-dimensional clothoid segments. FIG. 12 shows the three-dimensional clothoid interpolation between among the points P₁, P₂ and P₃. When a curve connecting the points P₁ and P₂ is denoted as a curve C₁ and a curve connecting the points P₂ and P₃ is denoted as a curve C₂, the unknowns in this case are 14 pieces consisting of the parameters from the curve C₁, which are a0 ₁, a1 ₁, a2 ₁, b0 ₁, b1 ₁, b2 ₁, and h₁, and the parameters from the curve C₂, which are a0 ₂, a1 ₂, a2 ₂, b0 ₂, b1 ₂, b2 ₂, and h₂. The subscripts to each character, which will appear in the following description, correspond to the subscript to each curve.

Here, the conditions which allow points being interpolated to be passed strictly and the G² continuity is kept will now be considered. First of all, when the condition which allows points being interpolated to be passed strictly at a starting point is necessarily achieved at the time when the starting point is specified, so that the interpolation condition is not necessary in this situation, which is clear from the definition of the three-dimensional clothoid curve. At the connecting point P1, seven interpolation conditions consisting of three positional conditions, two tangential vector conditions, and two conditions (about the magnitude and direction) regarding to equations showing the curvature continuity are needed. Further, as to the end point, three positional conditions are necessary at the point P2. Thus, the conditional expressions total to 10. However, the number of unknowns is 14, compared to only the ten conditional expressions, so that the unknowns cannot be solved. In order to overcome this difficulty, the study according to the present invention was conducted on condition that tangential line vectors were given at both end points to increase the number of conditions at each end point by two so that the conditional expressions and the unknowns are equal in number to each other. In addition, deciding a tangential direction at the starting point enables a0 ₁ and b0 ₁ to be obtained from the equation defining the tangential direction. Considering this, a0 ₁ and b0 ₁ were not treated as unknowns. In the following, consideration will now be given to each condition.

First, the positional conditions will now be considered. In this case, three Expressions (4-1), (4-2) and (4-3) are established (hereinafter, “i” represents non-negative integers smaller than 3). $\begin{matrix} \left\lbrack {{Numeral}\quad 42} \right\rbrack & \quad \\ {{{P\quad x_{i}} + {h_{i}{\int_{0}^{1}{\cos\quad\left( {{a\quad 0_{i}} + {a\quad 1_{i}S} + {a\quad 2_{i}S^{2}}} \right)\cos\quad\left( {{b\quad 0_{i}} + {b\quad 1_{i}S} + {b\quad 2_{i}S^{2}}} \right)\quad{\mathbb{d}S}}}} - {P\quad x_{i + 1}}} = 0} & \left( {4\text{-}1} \right) \\ {{{P\quad y_{i}} + {h_{i}{\int_{0}^{1}{\cos\quad\left( {{a\quad 0_{i}} + {a\quad 1_{i}S} + {a\quad 2_{i}S^{2}}} \right)\sin\quad\left( {{b\quad 0_{i}} + {b\quad 1_{i}S} + {b\quad 2_{i}S^{2}}} \right)\quad{\mathbb{d}S}}}} - {P\quad y_{i + 1}}} = 0} & \left( {4\text{-}2} \right) \\ {{{P\quad z_{i}} + {h_{i}{\int_{0}^{1}{\left( {- {\sin\left( {{a\quad 0_{i}} + {a\quad 1_{i}S} + {a\quad 2_{i}S^{2}}} \right)}} \right)\quad{\mathbb{d}S}}}} - {P\quad z_{i + 1}}} = 0} & \left( {4\text{-}3} \right) \end{matrix}$

The, the conditions concerning the tangential directions will now be considered. In this case, two Expressions (4-4) and (4-5) are established.

[Numeral 43] cos(a0_(i) +a1_(i) +a2_(i) −a0_(i+1))=1   (4-4) cos(b0_(i) +b1_(i) +b2_(i) −b0_(i+1))=1   (4-5)

Concerning the curvature k, the following Expression (4-6) will now be established.

[Numeral 44] κ_(i)(1)−κ_(i+1)(0)=0   (4-6)

Finally, the normal direction vector n will now be considered. The normal vector n of a three-dimensional clothoid curve is expressed by Expression (2-10).

Like the decision of the tangential vector u of a three-dimensional clothoid curve, the rotation will now be used for considering the normal vector n. Assume that an initial tangential direction is (1, 0, 0) and an initial normal direction is expressed as (0, cos γ, −sin γ) in which γ is a constant. When this initial normal direction is rotated in the same way as that for tangential lines, the normal line n is expresses as shown in Expression (4-7). $\begin{matrix} \left\lbrack {{Numeral}\quad 45} \right\rbrack & \quad \\ \begin{matrix} {{n(S)} = {{\begin{bmatrix} {\cos\quad{\beta(S)}} & {{- \sin}\quad{\beta(S)}} & 0 \\ {\sin\quad{\beta(S)}} & {\cos\quad{\beta(S)}} & 0 \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} {\cos\quad{\alpha(S)}} & 0 & {\sin\quad{\alpha(S)}} \\ 0 & 1 & 0 \\ {{- \sin}\quad{\alpha(S)}} & 0 & {\cos\quad{\alpha(S)}} \end{bmatrix}}\begin{Bmatrix} 0 \\ {\cos\quad\gamma} \\ {{- \sin}\quad\gamma} \end{Bmatrix}}} \\ {= \begin{Bmatrix} {{{- \sin}\quad\gamma\quad\cos\quad{\beta(S)}\sin\quad{\alpha(S)}} - {\cos\quad\gamma\quad\sin\quad{\beta(S)}}} \\ {{{- \sin}\quad\gamma\quad\sin\quad{\beta(S)}\sin\quad{\alpha(S)}} + {\cos\quad\gamma\quad\cos\quad{\beta(S)}}} \\ {{- \sin}\quad\gamma\quad\cos\quad{\alpha(S)}} \end{Bmatrix}} \end{matrix} & \left( {4\text{-}7} \right) \end{matrix}$

Making a comparison between Expressions (2-10) and (4-7) reveals that sin γ and cos γ correspond to Expression (4-8). $\begin{matrix} \left\lbrack {{Numeral}\quad 46} \right\rbrack & \quad \\ {{{\sin\quad\gamma} = \frac{\alpha^{\prime}(S)}{\sqrt{{\alpha^{\prime}(S)}^{2} + {{\beta^{\prime}(S)}^{2}\cos^{2}{\alpha(S)}}}}}{{\cos\quad\gamma} = \frac{{\beta^{\prime}(S)}\cos\quad{\alpha(S)}}{\sqrt{{\alpha^{\prime}(S)}^{2} + {{\beta^{\prime}(S)}^{2}\cos^{2}{\alpha(S)}}}}}} & \left( {4\text{-}8} \right) \end{matrix}$

That is, it is found from Expression (4-8) that the continuity of tan γ is enough for accomplishing the continuity of the normal lines at a connecting point involving in the three-dimensional clothoid interpolation. $\begin{matrix} \left\lbrack {{Numeral}\quad 47} \right\rbrack & \quad \\ {{\tan\quad\gamma} = \frac{\alpha^{\prime}(S)}{{\beta^{\prime}(S)}\cos\quad{\alpha(S)}}} & \left( {4\text{-}9} \right) \end{matrix}$

In short, it is understood that the condition for holding the normal lines continuous is expressed by Expression (4-10).

[Numeral 48] tan γ_(i)(1)=tan γ_(i+1)(0)   (4-10)

Further, when taking the equation of

[Numeral 49] cos [α_(i)(1)−α_(i+1)(0)]=1   (4-11) into account, the conditional Expression (4-10) can be replaced by the following conditional Expression (4-12). Specifically, the condition for the continuous normal lines is expressed by Expression (4-12). [Numeral 50] α′_(i)(1)β′_(i+1)(0)=α′_(i+1)(0)β′_(i)(1)   (4-12)

In summary, it is found that the conditions for keeping not only a strict passage through points being interpolated but also the G² continuity at each connecting point are expressed by Expression (4-13). Also, as for the starting and end points, it is still enough to select some of the conditions listed in Expression (4-13).

[Numeral 51] Px _(i)(1)=Px _(i+1)(0) Py _(i)(1)=Py _(i+1)(0) Pz _(i)(1)=Pz _(i+1)(0) cos [α_(i)(1)−α_(i+1)(0)]=1 cos [β_(i)(1)−β_(i+1)(0)]=1 α′_(i)(1)β′_(i+1)(0)=α′_(i+1)(0)β′_(i)(1) κ_(i)(1)=κ_(i⇄1)(0)   (4-13)

As described, it is revealed that concerning the conditional expressions for the twelve unknowns a1 ₁, a2 ₁, b1 ₁, b2 ₁, h₁, a0 ₂, a1 ₂, a2 ₂, b0 ₂, b1 ₂, b2 ₂, and h₂, twelve conditional expressions are established as follows (, in which α₃ and β₃ represent rotation angles in the tangential direction at the point P₃).

[Numeral 52] Px ₁(1)=Px ₂(0) Py ₁(1)=Py ₂(0) Pz ₁(1)=Pz ₂(0) cos [α₁(1)−α₂(0)]=1 cos [β₁(1)−β₂(0)]=1 α′₁(1)β′₂(0)=α′₂(0)β′₁(1) κ₁(1)=κ₂(0) Px ₂(1)=Px ₃(0) Py ₂(1)=Py ₃(0) Pz ₂(1)=Pz ₃(0) cos [α₂(1)−α₃]=1 cos [β₂(1)−β₃]=1   (4-14)

Since the twelve equations can be given for the twelve unknowns, a solution can be obtained. Practically, the Newton-Rapson method is used to solve such equations to have a solution.

Additionally, for the general case in which a row of n-piece points is subjected to the interpolation, it is sufficient that the non-negative integer i described above is expanded to values fulfilling i<n. The remaining matter concerns the number of unknowns and the number of conditional expressions.

For example, suppose that there is a row of “n-1”-piece points and N-piece unknowns and N-piece relational expressions are established. In this situation, when one point is added to the point row, the parameters is thus subjected to an increase thereof such that the seven clothoid parameters a0 _(n), a1 _(n), a2 _(n), b0 _(n), b1 _(n), b2 _(n), and h_(n) of the three-dimensional clothoid segments P_(n−1) and P_(n) are added. On the other hand, the conditional expressions are subjected to an increase of a total of seven equations consisting of three equations for positions at the point P_(n−1), two equations for a tangential vector, and two equations (about the magnitude and direction) representing a condition for keeping the curvatures continuous with respect to the point P_(n−1), because the connecting points increase by one.

In the case of n=3, it is known that the unknowns and the relational expressions are 12 in number respectively, so that for n≧3, the number of unknowns is 7(n−2)+5 and the number of equations to be established is also 7(n−2)+5. In this way, the unknowns and the conditions relating to the unknowns are the same in number. Thus, in the case of a row of n-piece free points, the similar method to that applied to three points can be used to calculate a solution. The Newton-Rapson method that utilizes the fact that the relationships on Expressions (4-15) and (4-16) are established between the unknowns and the conditional expressions was used as a solving method for a solution. (The conditions are denoted by F, the unknowns by u, and an error Jacobian matrix by J.)

[Numeral 53] Δ F=[J]Δ u   (4-15) Δ u=[J] ⁻¹ Δ F   (4-16)

Accordingly it is understood that a row of n-piece points can be subjected to the three-dimensional clothoid interpolation in such a manner that points being interpolated are passed strictly and the G² continuity is kept.

(c) Decision of Initial Values:

The Newton-Rapson method needs to have adequate initial values to start the search for a solution. Although the initial values may be given based on any method, how to give the initial values will now be exemplified in the following.

The interpolation requires that initial values of respective unknowns be decided from a row of points. In the present study, a polygon having four apexes between points of a row of points being interpolated, which is a simple form of a polygon Q composed of 3D Discrete Clothoid Splines made by Li at al., was produced, and the polygon Q was used to compute the initial values for decision thereof. Those 3D Discrete Clothoid Splines have a characteristic that the splines strictly pass points being interpolated and the curvatures change smoothly along the distance moved from a start point. In the present specification, the initial values for the three-dimensional clothoid interpolation are decided through computation with the use of a polygon Q made on 3D Discrete Clothoid Splines of r=4, as shown in FIG. 13.

The 3D Discrete Clothoid Splines will now be complemented as follows. As shown in FIG. 14, a polygon P of which apexes are a row of points being interpolated is first made, and new apexes are insertedly placed, the same number of pieces, between the apexes of the polygon Q so that a polygon Q meeting P⊂Q is made. Here suppose that the number of apexes of the polygon P is n-pieces. This supposition results in that the polygon Q has apexes whose number is “rn” pieces if the polygon is closed, but “r(n−1)+1” pieces if the polygon is open. Hereinafter, each apex is denoted by qi, in which the subscript is a serial number starting from the starting point. A vector k is decided at each apex, where the vector has, as a direction, a binormal vector b and has, as a magnitude, a curvature κ.

In cases where Expression (4-17), which is listed later, requiring the apexes be equidistant therebetween is met and a condition is established which is the nearest to a specific condition where the curvature is proportional to the distance moved from the starting point (i.e., the function shown in Expression (4-18) listed later is minimized), a certain polygon Q is made, which is called 3D Discrete Clothoid Splines. $\begin{matrix} \left\lbrack {{Numeral}\quad 54} \right\rbrack & \quad \\ {{{{q_{i - 1}q_{i}}} = {{q_{i + 1}q_{i}}}},\left( {q_{i} \notin P} \right)} & \left( {4\text{-}17} \right) \\ {{\sum\limits_{i = 1}^{r - 1}{{\Delta^{2}k_{{ir} + 1}}}^{2}},{i = \left\{ {{0\quad\ldots\quad n} - 1} \right\}},{{\Delta^{2}k_{i}} = {k_{i - 1} - {2k_{i}} + k_{i + 1}}}} & \left( {4\text{-}18} \right) \end{matrix}$

In the case of the 3D Discrete Clothoid Splines, the frenet frame of each apex is already obtained, so that the parameters a₀ and b₀ are computed based on the unit tangential vector t thereof. This tangential vector t has already been known at the time of obtaining the polygon Q, and both the vector t and the expressions of the tangential lines to the three-dimensional clothoid curve are used to obtain the tangential rotation angles α and β at the respective apexes of the polygon Q. Thus the initial values to be given to the parameters a₀ and b₀ of each curve are decided. In a three-dimensional clothoid segment starting from the stating point, the values thereof is given as the initial values. $\begin{matrix} \left\lbrack {{Numeral}\quad 55} \right\rbrack & \quad \\ {u = \begin{Bmatrix} {\cos\quad\beta\quad\cos\quad\alpha} \\ {\sin\quad\beta\quad\cos\quad\alpha} \\ {{- \sin}\quad\alpha} \end{Bmatrix}} & \left( {4\text{-}19} \right) \end{matrix}$

In addition, when taking it into consideration the fact that 3D Discrete Clothoid Splines allows its apexes to be aligned at equal distances, the point q_(4i+1) in FIG. 13 can be approximately estimated as having a curve length variable S of ¼. In the similar way to this, the point q_(4(i+1)−1) can be approximately estimated as having a curve length variable S of ¾. In consideration of these values together with the expression of α of a three-dimensional clothoid curve, the following Expression (4-20) is established. $\begin{matrix} \left\lbrack {{Numeral}\quad 56} \right\rbrack & \quad \\ \left\{ \begin{matrix} {{{a\quad 0_{4i}} + {\frac{1}{4}a\quad 1_{4i}} + {\left( \frac{1}{4} \right)^{2}a\quad 2_{4i}}} = {a\quad 0_{{4i} + 1}}} \\ {{{a\quad 0_{4i}} + {\frac{3}{4}a\quad 1_{4i}} + {\left( \frac{3}{4} \right)^{2}a\quad 2_{4i}}} = {a\quad 0_{{4{({i + 1})}} - 1}}} \end{matrix} \right. & \left( {4\text{-}20} \right) \end{matrix}$

Since this expression is a two-dimensional simultaneous equation to which unknowns are a1 _(4i) and a2 _(4i), this equation is solved to obtain the initial values of the parameters a₁ and a₂. Similarly to this, the initial values of the parameters b₁ and b₂ can be decided.

The remaining unknown to be handled in this section is the curve length h, of which initial value is computed using the expression of the curvature of the three-dimensional clothoid curve. The curvature of a three-dimensional curve is expressed by Expression (4-21). $\begin{matrix} \left\lbrack {{Numeral}\quad 57} \right\rbrack & \quad \\ {\kappa = \frac{\sqrt{\alpha^{\prime 2} + {\beta^{\prime 2}\cos^{2}\alpha}}}{h}} & \left( {4\text{-}21} \right) \end{matrix}$

This expression is deformed into Expression (4-22), which gives a decided initial value. $\begin{matrix} \left\lbrack {{Numeral}\quad 58} \right\rbrack & \quad \\ {h_{4i} = \frac{\sqrt{\left( {{a\quad 1_{4i}} + {2a\quad 2_{4i}}} \right)^{2} + {\left( {{b\quad 1_{4i}} + {2b\quad 2_{4i}}} \right)^{2}{\cos^{2}\left( {{a\quad 0_{4i}} + {a\quad 1_{4i}} + {a\quad 2_{4i}}} \right)}}}}{\kappa_{4{({i + 1})}}}} & \left( {4\text{-}22} \right) \end{matrix}$

As described above, the initial values of the seven three-dimensional clothoid parameters can be decided. Using these decided initial values under the condition that the G² continuity described in the item (b) is still held, respective approximate values of the parameters of each curve were obtained by the Newton-Rapson method. The resultant parameters are used to produce three-dimensional clothoid segments, and each interval between any two points was subjected to interpolation on the three-dimensional clothoid curves.

(d) Example of Interpolation:

An example of the interpolation will now be described, in which the foregoing technique was actually applied to the three-dimensional clothoid interpolation directed to four points of (0.0, 0.0, 0.0), (2.0, 2.0, 2.0), (4.0, 0.0, 1.0), and (5.0, 0.0, 2.0). A perspective view of the three-dimensional clothoid curve produced by the interpolation is illustrated in FIG. 15. FIG. 15 shows a solid line curve representing the three-dimensional clothoid curve and linear lines depicted by broken lines, dashed lines and chain double-dashed lines representing patterns of changes in the curvature radius in which, at each point on the curve, an amplitude is shown in the logarithm (curvature radius+logarithm natural e) and a direction is shown in the normal vector.

Furthermore, Table 2 represents the parameters of each curve, while Table 3 lists shifts of the coordinate, tangential line, normal line and curvature at each connecting point. These tables reveal that a three-dimensional clothoid curve which meets the requirement for the G² continuity at each connecting point was produced. FIG. 16 is a graph showing changes in the curvature, in which the axis of abscissas represents the distance moved from the starting point and the axis of ordinate represents the curvature. TABLE 2 Parameters of each three-dimensional clothoid segment Curve 1 (curvature radius change pattern: broken lines) α = −0.657549 − 1.05303S + 1.84584S² β = 1.03297 + 1.29172S − 2.55118S² h = 3.82679 P₀ = (0.0, 0.0, 0.0) Curve 2 (curvature radius change pattern: dashed lines) α = 0.135559 + 2.18537S − 2.69871S² β = −0.226655 − 3.15603S + 3.03298S² h = 3.16932 P₀ = (2.0, 2.0, 2.0) Curve 3 (curvature radius change pattern: chain double-dashed lines) α = −0.377569 − 1.45922S + 0.984945S² β = −0.349942 + 1.32198S − 0.873267S² h = 1.43987 P₀ = (4.0, 0.0, 1.0)

TABLE 3 Shifts of coordinate, tangential line, normal line and curvature at each connecting point Connecting point at which curves 1 and 2 are mutually connected Coord: (1.16 × 10⁻⁵, 2.00 × 10⁻⁶, 3.82 × 10⁻⁶) Tvector: (7.59 × 10⁻⁵, 1.50 × 10⁻⁵, 2.95 × 10⁻⁴) Nvector: (2.93 × 10⁻⁴, 9.19 × 10⁻⁵, −7.57 × 10⁻⁶) Curvature: 3.06 × 10⁻⁷ Connecting point at which curves 2 and 3 are mutually connected Coord: (−4.33 × 10⁻⁶, −1.64 × 10⁻⁶, 1.11 × 10⁻⁵) Tvector: (2.06 × 10⁻⁶, 2.33 × 10⁻⁴, 1.97 × 10⁻⁴) Nvector: (3.30 × 10⁻⁴, 1.19 × 10⁻⁵, −3.23 × 10⁻⁵) Curvature: 5.96 × 10⁻⁶

(2-4) G2-Continuous Three-Dimensional Clothoid Interpolation in Consideration of Control of Value at Each of Both Ends:

(a) Interpolation Conditions and Unknowns:

As stated in section 2-3, if a curve is open and there are n-piece points being interpolated, the row of points can be interpolated three-dimensionally with the help of n-1 piece curves. If it is requested that the curves pass each point in a strict manner, the unknowns of each three-dimensional clothoid segment are seven in number, which are a₀, a₁, a₂, b₀, b₁, b₂, and h. Accordingly, as a whole, the number of unknowns is 7(n−1) pieces. Meanwhile, the number of conditional expressions total to 7(n−2)+3 pieces, because there are seven unknowns concerning the coordinates, tangential line, normal line and curvatures at every “n−2”-piece connecting points, and there are three coordinates at the end point. In the technique in section 2-3, tangential vectors at each of the starting and end points were added to the conditional expressions so that the conditions increase by four, whereby the conditional expressions and the unknowns were made to be mutually equal in number.

In cases the tangential line, normal line and curvatures are controlled at each of the starting and end points and the interpolation is conducted with the G² continuity still held, the conditions increase by 2 pieces, which are with respect to the normal line and curvatures at each of the starting and end points, that is, an increase of a total of 4 pieces, compared to the case where the control of tangential lines is made at both ends. In short, the number of conditional expressions totals to 7n−3 pieces. In this case, the unknowns are smaller in number than the conditions, the Newton-Rapson method is unavailable for a solution. Hence any technique has to be used to increase the number of unknowns.

In the present case, the above difficulty was overcome by newly inserting points being interpolated so that the unknowns and the conditional expressions became equal in number to each other. For instance, the number of unknowns is larger than the conditional expressions by 4, two new points are inserted and two of the coordinates at the perspective points are handled as unknowns.

In this case, since the connecting points increase by 2, the conditions increase by a total of 14-piece ones, which consist of 7-piece conditions (coordinates, tangential line, normal line and curvatures) for each connecting point. On the other hand, the unknowns increase by 2 which is for each three-dimensional clothoid segment, the unknowns increase as a whole by 14 pieces, which is composed of 7 pieces of a₀, a₁, a₂, b₀, b₁, b₂, and h for each segment. In this case, the number of points included in the row of points is n+2 pieces, the whole unknowns are 7(n+1) pieces and the whole conditional expressions are 7(n+1)+4 pieces. Further, when it is supposed that two of the coordinates of the newly inserted points are treated as unknowns, the number of unknowns results in an increase of 4. As a result, the unknowns and the conditional expressions are both 7 (n+2)−3 in number, whereby a solution of the unknowns can be obtained. In this way, inserting new points makes it possible to perform the interpolation with the respective points passed strictly, the G² continuity held, and the tangential lines, normal lines, and curvatures at both end points controlled.

Furthermore, a generalized case will be discussed. In the case of interpolating a row of n-piece points in a state where m-piece items are controlled at both end points, consideration is given to the number of points to be inserted and to the number of coordinates to be treated as the unknowns at each inserted point. As state previously, as long as a curve is open, a row of points can be interpolated with the help of “n−1”-piece curves. If the respective points are subjected to a strict passage, each three-dimensional clothoid segment has the seven unknowns of a₀, a₁, a₂, b₀, b₁, b₂, and h, so that the unknowns total to 7(n−1) pieces. In contrast, the conditional expressions are as a whole 7(n−2)+3 pieces, because, every “n−2”-piece connecting points, there exist seven expressions on the coordinates, tangential line, normal line, and curvatures and three coordinates at an end point. Thus, the conditional expressions are less in number than the unknowns by 4. That is, this means that items to be controlled at both end points are 4 or more. In the following description, assumption is made such that m is a nonnegative integer of 4 or more and k is a nonnegative integer of 2 or more, under which how to make both the conditional expressions and the unknowns equal in number to each other in response to inserting new points will now be described.

(i) In the case of m=2k:

In cases where it is required that a total of “m=2k”-piece items be controlled at both end points, the number of unknowns is 7(n−1) pieces in total and the number of conditional expressions is 7(n−1)−4+2k pieces in total. In this situation, the number of excessive conditional expressions is 2k−4 pieces. When it is considered that “k−2”-piece points are newly inserted, the number of three-dimensional clothoid segments increases by k−2 pieces, while the connecting points increase by k−2 pieces as well. As a result, the unknowns total up to 7 (n+k−3) pieces and the conditional expressions total up to 7(n+k−3)−4+2k pieces. In the case that, of the values at the coordinates of each of the newly inserted points, two values (for example, x and y) are treated as being unknowns, the unknowns total up to 7(n+k−3)+2(k−2) pieces and the conditional expressions total up to 7 (n+k−3)+2 (k−2) pieces, permitting both the unknowns and the conditional expressions to be equal in number to each other.

(ii) In the case of m=2k+1:

In cases where it is required that a total of “m=2k+1”-piece items be controlled at both end points, the number of unknowns is 7 (n−1) pieces in total and the number of conditional expressions is 7(n−1)+2k−3 pieces in total. In this situation, the number of excessive conditional expressions is 2k−3 pieces. When it is considered that “k−1”-piece points are newly inserted, the number of three-dimensional clothoid segments increases by k−1 pieces, while the connecting points increase by k−1 pieces as well. As a result, the unknowns total up to 7 (n+k−2) pieces and the conditional expressions total up to 7(n+k−2)−3+2k pieces. In the case that, of the values at the coordinates of each of the newly inserted points, two values (for example, x and y) are treated as being unknowns, the unknowns total up to 7 (n+k−2)+2 (k−2) pieces and the conditional expressions total up to 7(n+k−2)+2k−3 pieces, resulting in that the conditional expressions are larger than the unknowns by one. Thus, for the case of m=2k+1, at one of the inserted points, only one of the values of the coordinate at the one point is treated as being an unknown. This countermeasure allows the unknowns to be 7(n+k−2)+2(k−2) pieces in total and the conditional expressions to also be 7(n+k−2)+2(k−2) pieces in total, whereby the unknowns and the conditional expressions are equal in number to each other.

As stated above, in the present method, in accordance with the number of conditional expressions to be added, the number of values chosen as unknowns from the coordinates of inserted points can be adjusted. This makes it possible that, in various occasions in which parameters, such as a tangential rotation angle α, which are other than the tangential line, normal line and curvatures, are controlled, the unknowns can be equalized in number to the conditional expressions. In consequence, from a theoretical viewpoint, each value at both end points can be controlled. Table 4 is provided to show, as a summary, correspondences among the items to be controlled, the number of unknowns and the number of conditional expressions. TABLE 4 Items to be controlled at both end points, the number of unknowns, and the number of conditional expressions in n-point interpolation the number of the the number of the the number conditional number of coordinates number of of items to expressions points to being handled as unknowns be to be be unknowns per to be controlled increased inserted point increased 4 0 0 0 0 5 1 1 1 1 6 2 1 2 2 7 3 2 1-piece point: 2 3 1-piece point: 1 . . . 2k 2k − 4 k − 2 “k − 2”-piece 2k − 4 points: 2 2k + 1 2k − 3 k − 1 “k − 2”-piece 2k − 3 points: 2 1-piece point: 1 k: nonnegative integer of 2 or more

(b) Technique:

As shown in FIGS. 17 and 18, the interpolation that uses a three-dimensional clothoid controlling each value at the starting and end points is carried out on the following operation flow.

Step 1) Of the conditions to be controlled, only 4 conditions are used to perform interpolation in which points being interpolated are subjected to a strict passage and the G² continuity is kept, with a curve produced on the interpolated results.

Step 2) New points are inserted into the produced curve, before the conditional expressions and the unknowns are subjected to adjustment in terms of the number thereof.

Step 3) The curve parameters in Step 1 are used as initial values for obtaining approximate values of parameters of each curve by the Newton-Rapson method, the approximate values meeting the conditions to be targeted.

Each Step will now be complemented as follows. First, at Step 1, a curve is produced by using the technique described in section 2-3, if the tangential direction is required to be controlled. Even if the tangential direction is not required to be controlled, initial values, which are the same as ones produced by the technique described in section 2-3, are used as initial values required for obtaining the parameters of the curve.

Then at Step 2, new points are inserted into the curve for adjustment conditions and unknowns in terms of their numbers. During this step, the number of points to be newly inserted in an interval between points being interpolated is required to be one or less, whenever possible. Further, the point to be inserted is at a central position of each three-dimensional clothoid segment produced at Step 1 and inserted to connect points being interpolated. Still further, the insertion of the points to be inserted is carried out in sequence from both ends of the curve. In other words, the first inserted points are a central point between the starting point and the adjacent point located next thereto and a further central point between the end point and the adjacent point located next thereto.

Lastly, the description will now be given to Step 3, wherein it is required to decide initial values for the Newton-Rapson method employed in this step. For this purpose, the curve into which the new points have been inserted is divided using the technique, described in section 1-4, for dividing the three-dimensional clothoid curve, and the initial values are decided based on respective values of the divided curves. If the curve will not be subjected to the insertion of any points, the as-produced initial values of the curve, produced in Step 1, are used. In this way, the initial values given to the respective parameters of the curve in Step 3 have been decided. Using these initial values, the computation on the Newton-Rapson method is conducted to provide parameters, and these parameters are used to produce a three-dimensional clothoid curve. That is, the interpolation has been made by the three-dimensional clothoid curve that fulfills the targeted conditions in each interval between points.

(c) Example of Interpolation:

An actual example of the three-dimensional clothoid interpolation will now be given by Table 5, in which conditions are listed as to tangential lines, normal lines, and curvatures at both ends so that control should be conducted to meet those conditions. The sequential numbers are given to the points being interpolated which are to be subject to a strict passage of the line, so that the points P₁, P₂ and P₃ are denoted. TABLE 5 Conditions for respective points being interpolated and starting and end points unit tangential principal normal coordinate vector vector curvature P₁ (0, 0, 0) (Cos(θ), Sin(θ), 0) (−Sin(θ), Cos(θ), 0) 0.2 P₂ (4, −4, −4) — — — P₃ (8, −4, −5) (1, 0, 0) (0, −1, 0) 0.2 *θ = −(π/6)

Under the conditions listed above, the interpolation was conducted actually, which resulted in the figure shown in FIG. 19. A solid-line curve represents a three-dimensional clothoid curve, while curves depicted by broken lines, dashed lines, chain double-dashed lines, and chain triple-dashed lines represent patterns of changes in the curvature radius of each curve. FIG. 20 shows a graph representing the relationship between the distance moved from the starting point of each curve and its curvature, the graph being shown depending on the types of lines shown in FIG. 19. As understood from Table 6, the produced curves meet the given conditions. TABLE 6 Differences between given values and produced values as to tangential lines, normal lines, and curvatures at starting and end points of each produced curve unit tangential principal normal coordinate vector vector curvature P₁ given value {0.0, 0.0, 0.0} {0.8660, −0.5, 0.0} {0.5, 0.8660, 0.0} 0.20 value on {0.0, 0.0, 0.0} {0.8660, −0.5, 0.0} {0.5000, 0.8660, 0.0} 0.20 produced curve difference {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} 0 P₃ given value {8.0, −4.0, −5.0} {1.0, 0.0, 0.0} {0.0, −1.0, 0.0} 0.20 value on {8.0, −4.0, −5.0} {1.0, 0.0, 0.0} {0.0, −1.0, 0.0} 0.20 produced curve difference {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} 0

(d) Control of Value at Central Point:

The technique described in item (d) has enabled both the control of each value at both end points and the G²-continuous interpolation. In the next place, the control of values at each central point, not both end points, will now be described.

For example, for interpolating a row of points shown in FIG. 21, an assumption is made such that both a tangential line and a normal line are controlled at a central point P_(c). It should be noted that the technique described so far will not be available to the control of values at central points. A solution to this difficulty is to divide the row of points into two ones so that the control can be effective.

Specifically, the interpolation should be done on individual divided curves C₁ and C₂ with a central point P_(c) therebetween, without interpolating the whole row of points at once. In such a case, the central point P_(c) is to be located at an end of each divided curve, with the result that the technique described in item (b) can be used for the control.

Therefore, as described above, a curve division is done at a point that represents values to be controlled, the control for interpolation is applied to values at both ends of the divided curve, and the resultant curves are connected to each other. This way theoretically enables the three-dimensional clothoid interpolation which controls the tangential line, normal line, and curvature at each point.

(2-5) Three-Dimensional Clothoid Interpolation Controlling Tangential Line, Normal Line, and Curvature at Both Ends:

(a) Flow of Technique:

An interpolation technique using the three-dimensional clothoid to control each value at staring and end points is performed by a procedure flow shown in FIG. 22, which is as follows. In the following, the description will be given along such a flow.

(b-1) Giving Points Being Interpolated:

In an example in this section, three points {0.0, 0.0, 0.0}, {5.0, 5.0, 10.0}, {10.0, 10.0, 5.0} were designed in the three-dimensional space. The other conditions, such as tangential liens, normal lines, and curvatures given to each point, are summarized in Table 7. TABLE 7 Points being interpolated and conditions for parameters at starting and end points: unit tangential principal coordinate vector normal vector curvature P₁ (0.0, 0.0, 0.0) {0.0, 1.0, 0.0} {1.0, 0.0, 0.0} 0.1 P₂ (5.0, 5.0, 10.0) — — — P₃ (10.0, 10.0, 5.0) {1.0, 0.0, 0.0} {0.0, −1.0, 0.0} 0.1

(b-2) Production of 3D DCS of r=4:

The Newton-Rapson method needs to have adequate initial values to start the search for a solution. The preparation for obtaining the initial values will now be performed. 3D Discrete Clothoid Splines, which is a preceding study to the present study according to the present application, is characterized in that points being interpolated is subjected to a strict passage and the curvature smoothly changes with changes in the distance moved from a starting point. Hence, in the present study, a polygon Q on 3D Discrete Clothoid Splines of r=4 is produced as shown in FIG. 23, and this polygon is used to compute and decide initial values for the three-dimensional clothoid interpolation. This polygon was actually produced from a row of points, which is shown in FIG. 24. The coordinates of the apexes of the produced polygon are listed in Table 8. TABLE 8 Coordinates of apexes of produced polygon coordinates of apexes coordinates of apexes P₁ {0.0, 0.0, 0.0} {0.4677, 0.4677, 3.1228} {0.9354, 0.9354, 6.2456} {2.3029, 2.3029, 9.4966} P₂ {5.0, 5.0, 10.0} {6.7095, 6.7095, 9.9244} {8.0655, 8.0655, 8.4732} {9.0327, 9.0327, 6.7366} P₃ {10.0, 10.0, 5.0}

(b-3) Decision of Initial Values:

Obtaining a solution on the Newton-Rapson method involves decision of initial values of respective unknowns. According to the present technique, the polygon Q produced in section b-2 is used to obtain approximate values of the respective unknowns, and those approximate values are subjected to the decision of the initial values. In the case of handling 3D Discrete Clothoid Splines, the frenet frame of each apex has already been acquired. Parameters a₀ and b₀ are thus obtained from the unit tangential vector t of the polygon Q produced in section b-2. This tangential vector t has already been known since the polygon Q was obtained, so that both this vector t and the expression for a tangential line of a three-dimensional clothoid curve are used to compute tangential rotation angles α and β. These angles allow the initial values of the parameters a₀ and b₀ of each curve to be decided. In addition, for a three-dimensional clothoid segment starting from a starting point, those angles provide initial values of the parameters. $\begin{matrix} {u = \begin{Bmatrix} {\cos\quad\beta\quad\cos\quad\alpha} \\ {\sin\quad\beta\quad\cos\quad\alpha} \\ {{- \sin}\quad\alpha} \end{Bmatrix}} & \left\lbrack {{Numeral}\quad 59} \right\rbrack \end{matrix}$

When it is taken into account that 3D Discrete Clothoid Splines provide apexes poisoning at equal distances, it can be approximated that the curve length variable S at a point q_(4i+1) in FIG. 23 is ¼. Similarly to this, it can be approximated that the curve length variable S at a point q_(4(i+1)−1) is ¾. In consideration of both the approximated variables and the expression concerning α of the three-dimensional clothoid curve, the following expression is realized. $\begin{matrix} \left\{ \begin{matrix} {{{a\quad 0_{4i}} + {\frac{1}{4}a\quad 1_{4i}} + {\left( \frac{1}{4} \right)^{2}a\quad 2_{4i}}} = {a\quad 0_{{4i} + 1}}} \\ {{{a\quad 0_{4i}} + {\frac{3}{4}a\quad 1_{4i}} + {\left( \frac{3}{4} \right)^{2}a\quad 2_{4i}}} = {a\quad 0_{{4{({i + 1})}} - 1}}} \end{matrix} \right. & \left\lbrack {{Numeral}\quad 60} \right\rbrack \end{matrix}$

Since this expression is a two-dimensional simultaneous equation to which unknowns are a1 _(4i) and a2 _(4i), this equation is solved to obtain the initial values of the parameters α₁ and a₂. Similarly to this, the initial values of the parameters b₁ and b₂ can be decided.

The remaining unknown is a curve length h, of which initial value is calculated by solving the expression defining the curvature of the three-dimensional clothoid curve. The curvature of the three-dimensional clothoid curve can be expressed by the following. $\begin{matrix} {\kappa = \frac{\sqrt{\alpha^{\prime 2} + {\beta^{\prime 2}\cos^{2}\alpha}}}{h}} & \left\lbrack {{Numeral}\quad 61} \right\rbrack \end{matrix}$

This expression can be developed into the following, on which the initial value of h is decided. $\begin{matrix} {h_{4i} = \frac{\sqrt{\begin{matrix} {\left( {{a\quad 1_{4i}} + {2a\quad 2_{4i}}} \right)^{2} +} \\ {\left( {{b\quad 1_{\quad{4\quad i}}}\quad + \quad{2\quad b\quad 2_{\quad{4\quad i}}}} \right)^{2}{\cos^{\quad 2}\left( {{a\quad 0_{\quad{4\quad i}}} + {a\quad 1_{\quad{4\quad i}}} + {a\quad 2_{\quad{4\quad i}}}} \right)}} \end{matrix}}}{\kappa_{4{({i + 1})}}}} & \left\lbrack {{Numeral}\quad 62} \right\rbrack \end{matrix}$

As described, the initial values of the seven three-dimensional clothoid parameters can be decided.

The initial values actually obtained on the foregoing technique are listed in Table 9. TABLE 9 Initial values curve a₀ 0.0 (known) connecting a₁ −0.2684 points P₁ a₂ 1.0739 and P₂ b₀ π/2 (known) b₁ 0.0 b₂ 0.0 h 12.7684 curve a₀ −0.1648 connecting a₁ 3.2061 points P₂ a₂ −2.6327 and P₃ b₀ 0.7853 b₁ 0.0 b₂ 0.0 h 9.6752

(b-4) Three-Dimensional Interpolation with Strict Passage Through Respective Points and G² Continuity:

The initial values decided in section (b-3) are used to obtain approximate values of parameters of each curve by using the Newton-Rapson method, under the condition that the G² continuity is kept. Using the resultant parameters, three-dimensional clothoid segments are produced, and then each span between points in a row of points is interpolated with the three-dimensional clothoid curve.

In this three-dimensional interpolation for three points, practical conditions satisfying a strict passage through points being interpolated and the G² continuity will now be described. FIG. 25 shows the three-dimensional clothoid interpolation for points P₁, P₂ and P₃. A curve connecting the points P₁ and P₂ is denoted by a curve C₁, and a curve connecting points P₂ and P₃ is denoted by a curve C₂. Since a0 ₁ and b0 ₁ are already known, the unknowns totals up to 12 pieces consisting of parameters a1 ₁, a2 ₁, b1 ₁, b2 ₁ and h₁ of the curve C₁ and parameters a0 ₂, a1 ₂, a2 ₂, b0 ₂, b1 ₂, b2 ₂ and h₂ of the curve C₂. The subscripts to characters, which will appear hereinafter, are assigned to correspond to the subscripts to respective curves, in which the coordinates, tangential rotation angles α and β, normal line and curvature of each curve are expressed respectively by Px_(i), Py_(i), Pz_(i), α_(i), β_(i), n_(i) and κ_(i), which are functions of the curve length variable S.

First of all, from the definition of the three-dimensional clothoid curve, the condition that the strict passage through points being interpolated should be kept at the point P₁ is inevitably achieved whenever the starting point is given. A tangential direction at the point P₁ is also given as a known value, so that no particular specification for the continuity is needed at the point P₁.

The next to be considered is the point P₂. This point P₂ is a connecting point to connect the curves with each other, so that the G²continuity requires that the position, tangential line, normal line, and curvature should be continuous thereat. That is, the conditions which should be realized at the point P₂ are as follows.

[Numeral 63] Px ₁(1)=Px ₂(0) Py ₁(1)=Py ₂(0) Pz ₁(1)=Pz ₂(0) cos [α₁(1)−α₂(0)]=1 cos [β₁(1)−β₂(0)]=1 in ₁(1)·n ₂(0)=1 κ₁(1)=κ₂(0)

Lastly, the consideration is given to the point P₃. This point P₃ is an end point. This means that the necessary conditions to be met are abut only the position and tangential line, so that the following five conditions are realized, in which α₃ and β₃ are tangential rotation angles α and β to decide a tangential vector at the end point to be given.

[Numeral 64] Px ₁(1)=Px ₂(0) Py ₁(1)=Py ₂(0) Pz ₁(1)=Pz ₂(0) cos [α₁(1)−α₂(0)]=1 cos [β₁(1)−β₂(0)]=1 n ₁(1)·n ₂(0)=1 κ₁(1)=κ₂(0)

Hence, it can be understood that, as for the twelve unknowns a1 ₁, a2 ₁, b1 ₁, b2 ₁, h₁, a0 ₂, a1 ₂, a2 ₂, b0 ₂, b1 ₂, b2 ₂ and h₂, the twelve conditional expressions are provided as follows. These expressions can thus be summarized in a list form in the following.

[Numeral 65] Px ₁(1)=Px ₂(0) Py ₁(1)=Py ₂(0) Pz ₁(1)=Pz ₂(0) cos [α₁(1)−α₂(0)]=1 cos [β₁(1)−β₂(0)]=1 n ₁ ·n ₂=1 κ₁(1)=κ₂(0) Px ₂(1)=Px ₃ Py ₂(1)=Py ₃ Pz ₂(1)=Pz ₃ cos [α₂(1)−α₅₃=1 cos [β₂(1)−β₃]=1

As described, the twelve expressions are realized for the twelve unknown, so that solutions to the unknowns can be found. The Newton-Rapson method is applied to these expressions for solutions, which are listed in Table 10, together with the initial values. TABLE 10 Initial values and solutions initial value solution curve C₁ a₀ 0.0 — connecting (known) points P₁ a₁ −0.2684 −5.4455 and P₂ a₂ 1.0739 5.4122 b₀ π/2 (known) — b₁ 0.0 −3.8590 b₂ 0.0 3.1003 h 12.7684 13.5862 curve C₂ a₀ −0.1648 −0.033258 connecting a₁ 3.2061 3.6770 points P₂ a₂ −2.6327 −3.6437 and P₃ b₀ 0.7853 0.8120 b₁ 0.0 1.6006 b₂ 0.0 −2.4126 h 9.6752 9.2873 (b-5) Production of Curve:

FIG. 26 shows, in a parallel form, both a curve produced based on the parameters obtained in section (b-4) and the polygon produced in section (b-2). The solid curve line denotes the curve C₁ and the broken curved line denotes the curve C₂. At this stage, there are provided as three-dimensional clothoid curves with tangential directions controlled at the stating and end points and the G² continuity kept.

(b-6) Conditional Expressions and Unknowns:

Now assume that the normal lines and curvatures at the starting point P₁ and end point P₂ are given by values shown in Table 7. In order that the normal lines and curvatures are further controlled at the starting and end points, it is necessary to increase the number of conditions at each of the starting and end points by two. However, in a state where the number of conditions is increased by 4, it is impossible to obtain a solution meeting the conditions, due to imbalance in number between the unknowns and the conditions. Therefore, to make the unknowns and conditions equal in their numbers, a new point DP₁ is inserted into the curve C₁ at a point of the curve length variable S=0.5 thereon, as shown in FIG. 27. In addition, as to the curve C₂, a new point DP₂ is inserted thereinto at a point of the curve length variable S=0.5 thereon.

In this situation, a curve connecting the points P₁ and DP1 is denoted by C′₁, a curve connecting the points DP₁ and P₂ is denoted by C′₂, a curve connecting the points P₂ and DP₂ is denoted by C′₃, and a curve connecting the points DP₂ and P₃ is denoted by C′₄, respectively. The characters which appear in the following description involve with subscripts each corresponding to each curve name. For example, the coordinates, tangential rotation angles α and β, normal line, and curvature of a curve C are expressed respectively by Px_(c), Py_(c), Pz_(c), α_(c), β_(c), n_(c) and κ_(c) which are functions of the curve length variable S. Furthermore, as for the coordinates, tangential rotation angles α and β, normal line, and curvature at the starting and end points, those are expressed respectively as Px_(s), Py_(s), Pz_(s), α_(s), β_(s), n_(s) and κ_(s) at the starting point, whilst those are expressed respectively as Px_(e), Py_(e), Pz_(e), α_(e), β_(e), n_(e) and κ_(e) at the end point.

In the following, the conditions realized at respective points are listed.

[Numeral 66]

-   Point P₁: tangential line, normal line and curvature; 4 expressions:     cos [α_(C′1)(0)−α_(s)]=1     cos [β_(C′1)(0)−β_(s)]=1     n _(C′1)(0)·n=1     κ_(C′1)(0)=κ_(s) -   Point DP₁: position, tangential line, normal line and curvature; 7     expressions:     Px _(C′1)(1)=Px _(C′2)(0)     Py _(C′1)(1)=Py _(C′2)(0)     Pz _(C′1)(1)=Px _(C′2)(0)     cos [α_(C′1)(1)−α_(C′2)(0)]=1     cos [β_(C′1)(1)−β_(C′2)(0)]=1     n _(C′1)(1)·n _(C′2)(0)=1     κ_(C′1)(1)=κ_(C′2)(0) -   Point P₂: position, tangential line, normal line and curvature; 7     expressions:     Px _(C′2)(1)=Px _(C′3)(0)     Py _(C′2)(1)=Py _(C′3)(0)     Pz _(C′2)(1)=Pz _(C′3)(0)     cos [α_(C′2)(1)−α_(C′3)(0)]=1     cos [β_(C′2)(1)−β_(C′3)(0)]=1     n _(C′2)(1)·n _(C′3)(0)=1     κ_(C′2)(1)=κ_(C′3)(0) -   Point DP₂: position, tangential line, normal line and curvature; 7     expressions:     Px _(C′3)(1)=Px _(C′4)(0)     Py _(C′3)(1)=Py _(C′4)(0)     Pz _(C′3)(1)=Pz _(C′4)(0)     cos [α_(C′3)(1)−α_(C′4)(0)]=1     cos [β_(C′3)(1)−β_(C′4)(0)]=1     n _(C′3)(1)·n _(C′4)(0)=1     κ_(C′3)(1)=κ_(C′4)(0) -   Point P₃: position, tangential line, normal line and curvature; 7     expressions:     Px _(C′4)(1)=Px _(e)     Py _(C′4)(1)=Py _(e)     Pz _(C′4)(1)=Pz _(e)     cos [α_(C′4)(1)−α_(e)]=1     cos [β_(C′4)(1)−β_(e)]=1     n _(C′4)(1)·n _(e)=1     κ_(C′4)(1)=κ_(e)

Accordingly, the total number of conditional expressions to be established is 32. In contrast, each curve has the seven clothoid parameters consisting of a₀, a₁, a₂, b₀, b₁, b₂, and h and the number of curves is 4, whereby the number of unknowns totals to 28. That is, the unknowns and the conditional expressions are not equal in number to each other, so that solutions cannot be obtained. In order to overcome this situation, the y and z coordinates of the newly inserted two points DP₁ and DP₂ are treated as unknowns to increase the unknowns by 4. Since this increase allows both the unknowns and the conditional expressions to be 32 in number, the solutions can be obtained.

(b-7) Decision of Initial Values:

Though the Newton-Rapson method is used to compute solutions satisfying the conditional expressions produced in section (b-6), the initial values of the unknowns are required to be decided so that the computation converges at a higher rate. As a practical measure for that, the three-dimensional curve produced in section (b-5) is divided at the newly inserted points, with the result that four three-dimensional clothoid curves are produced as shown in FIG. 28, and the clothoid parameters are given to the curves.

How to divide the curve C₁ into a curve C′₁ and a curve C′₂ will now be described as a curve division method. Using the parameters of the curve C₁, the clothoid parameters h′, a′₀, a′₁, a′₂, b′₀, b′₁ and b′₂ of the curve C′₁ can be expressed by the following expressions, in which a reference S_(d) represents a curve length variable at the dividing point and is 0.5 in this example. $\begin{matrix} \left\{ \begin{matrix} {a_{0}^{\prime} = a_{0}} \\ {a_{1}^{\prime} = {a_{1}S_{d}}} \\ {a_{2}^{\prime} = {a_{2}S_{d}^{2}}} \\ {b_{0}^{\prime} = b_{0}} \\ {b_{1}^{\prime} = {b_{1}S_{d}}} \\ {b_{2}^{\prime} = {b_{2}S_{d}^{2}}} \\ {h^{\prime} = {h\quad S_{d}}} \end{matrix} \right. & \left\lbrack {{Numeral}\quad 67} \right\rbrack \end{matrix}$

The consideration will then be given to the curve C′₂ whose dividing point is DP₁. Let us assume a curve C″₁ which is identical in size and shape to the curve C₁ but is opposite in direction to the curve C₁. With the use of the parameters of the curve C₁, the clothoid parameters h″, a″₀, a″₁, a″₂, b″₀, b″₁ and b″₂ of the curve C″₁ can be expressed by the following expressions. $\begin{matrix} \left\{ \begin{matrix} {P_{s}^{''} = {P(1)}} \\ {a_{0}^{''} = {a_{0} + a_{1} + a_{2} + \pi}} \\ {a_{1}^{''} = {- \left( {a_{1} + {2a_{2}}} \right)}} \\ {a_{2}^{''} = a_{2}} \\ {b_{0}^{''} = {b_{0} + b_{1} + b_{2}}} \\ {b_{1}^{''} = {- \left( {b_{1} + {2b_{2}}} \right)}} \\ {b_{2}^{''} = b_{2}} \\ {h^{''} = h} \end{matrix} \right. & \left\lbrack {{Numeral}\quad 68} \right\rbrack \end{matrix}$

The dividing point DP₁ on this curve is expressed as DP₁=C″₁ (1−S_(d)). When it is assumed that the curve C″₁ is divided at the point DP₁, the resultant divided curves include a curve C″₂ whose starting point is P₂ is identical in size and shape to the curve C′₂ and opposite in direction to the curve C′₂. Hence the technique for producing the curve C′₁ enables the curve C″₂ to be produced. In this calculation, the curve C₂ can also be obtained by producing a curve having the identical size and shape but having the opposite direction too the curve C″₂.

As described, at the point DP₁ giving 0.5 to the curve length variable S on the three-dimensional clothoid curve C₁, the curve C₁can be divided into the curves C′₁ and C′₂. Similarly to this, at the point DP₂ giving 0.5 to the curve length variable S on the three-dimensional clothoid curve C₂, the curve C₂ can be divided into the curves C′₃ and C′₄.

The parameters of the four curves divided on the foregoing are listed in Table 11. These parameters of the curves are used as initial parameters to the Newton-Rapson method in calculating solutions satisfying the conditional expressions established in section b-6. TABLE 11 Parameters of curves produced by division curve a₀ 0.0 (known) curve a₀ 4.9134 C′₁ a₁ −2.7227 C′₂ a₁ −0.016629 a₂ 1.3530 a₂ 1.3530 b₀ π/2 (known) b₀ 0.41633 b₁ −1.9295 b₁ −0.37938 b₂ 0.7750 b₂ 0.77507 h 6.7931 h 6.7931 starting {0.0, 0.0, 0.0} starting {1.8431, 3.0860, point point 4.9597} curve a₀ −0.033258 curve a₀ 7.1774 C′₃ a₁ 1.8385 C′₄ a₁ 0.016629 a₂ −0.91093 a₂ −0.91093 b₀ 0.81202 b₀ 1.0091 b₁ 0.80031 b₁ −0.40601 b₂ −0.60316 b₂ −0.60316 h 4.6436 h 4.6436 starting {5.0, 5.0, 10.0} starting {7.0029, 8.1298, point point 7.5337}

(b-8) Obtaining Clothoid Parameters Satisfying Conditions:

Based on the initial values decided in section (b-7), the solutions satisfying the conditional expressions established in section (b-6) were obtained using the Newton-Rapson method. Table 12 shows those calculated parameters of each curve. In addition, Table 13 shows differences between given values and the produced values in respect of the tangential line, normal line, and curvature at the starting and end points of each produced curve. TABLE 12 Parameters of produced curves curve a₀ 0.0 (known) curve a₀ 5.3846 C′₁ a₁ 0.0000 C′₂ a₁ −3.4602 a₂ −0.89854 a₂ 4.341 b₀ π/2 (known) b₀ 0.47690 b₁ −0.51836 b₁ −3.2143 b₂ −0.57552 b₂ 3.4613 h 5.1836 h 9.9808 starting {0.0, 0.0, 0.0} starting {1.8431, 4.1726, point point 1.4653} curve a₀ −0.017740 curve a₀ 6.8553 C′₃ a₁ 3.4572 C′₄ a₁ −1.1443 a₂ −2.8673 a₂ 0.57219 b₀ 0.72385 b₀ 0.76315 b₁ 2.4551 b₁ −1.1942 b₂ −2.4158 b₂ 0.43108 h 6.60818 h 3.3206 starting {5.0, 5.0, 10.0} starting {7.0029, 9.0734, point point 5.6186}

TABLE 13 Differences between given values and produced values in respect of tangential line, normal line and curvature at starting and end points of produced curve unit tangential principal normal coordinate vector vector curvature P₁ given {0.0, 0.0, 0.0} {0.0, 1.0, 0.0} {1.0, 0.0, 0.0} 0.10 value value on {0.0, 0.0, 0.0} {0.0, 1.0, 0.0} {1.0, 0.0, 0.0} 0.10 produced curve difference {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} 0 P₃ given {10.0, 10.0, 5.0} {1.0, 0.0, 0.0} {0.0, −1.0, 0.0} 0.10 value value on {10.0, 10.0, 5.0} {1.0, 0.0, 0.0} {0.0, −1.0, 0.0} 0.10 produced curve difference {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} 0

(b-9) Production of Curves:

A curve produced on the parameters obtained in section (b-8) is shown in FIG. 29. In this figure, the solid line depicts a three-dimensional clothoid curve, while the broken line, chain line, chain double-dashed line, and chain triple-dashed line depict respectively patterns of changes in the curvature radius of each curve in which the change patterns are calculated on both the principal normal line which is set to the direction of each curve and the curvature radius which is set to the size of each curve (the radius curvature is subjected to the logarithm computation after addition of the logarithm natural). FIG. 30 shows a graph presenting the relationship between the distance s moved from the starting point of each curve and the curvature κ depending on the respective types of the curves shown in FIG. 29. From Table 12, it is understood that the produced curves satisfy the given conditions.

As described, how to produce the curves on the three-dimensional clothoid interpolation in such a manner that the tangential line, normal line and curvature at both ends are controlled has been exemplified.

3. Method of designing regression path of ball screw by using three-dimensional clothoid interpolation:

As an example in which the three-dimensional clothoid interpolation is applied to machine design, the regression path of a deflector type of ball screw will now be designed.

(3-1) Description of Deflector Type of Ball Screw:

FIGS. 31 to 35 show a deflector type of ball screw. This ball screw has a deflector serving as a regression path of balls rolling on a thread groove. The deflector is classified into a type of deflector which is formed separately from a nut and then fixed on the nut and a type of deflector which is formed together with a nut. FIG. 31 illustrates the former one, in which the deflector is separated from the nut at the beginning of the production.

Hereinafter, the type of ball screw in which the deflector is produced as one unit with the nut will now be described. FIG. 32 shows a nut 1 employed by this type of ball screw in which the deflector is produced as one unit with the nut. The nut 1 has an inner circumferential surface, on which a load ball rolling groove 2 is formed which serves as a spiral load rolling element rolling groove whose circumferential distance is less than one turn. The load ball rolling groove 2 has a lead made to agree with the ball rolling groove of a screw shaft described later. There is also provided a ball circulating groove 3, serving as the regression path, and connecting one end and the other end of the load of the load running groove and having a lead of which direction is opposite to that of the load ball rolling groove 2. The load ball rolling groove 2 and the ball circulating groove 3 are paired to form a single one-turn groove 4. FIG. 33A shows a perspective view of the nut 1 in which the ball circulating groove 3 can be seen, while FIG. 33B shows a perspective view of the nut 1 in which the load ball rolling groove 2 can be seen instead.

This nut 1 is combined with the screw shaft, whose combined state is shown in FIG. 34.

The screw shaft has an outer circumferential surface, on which there is formed a ball rolling groove 6 serving as a spiral rolling element rolling groove having predetermined leads. The load ball rolling groove 2 of the nut 1 is opposed to the ball rolling groove 6 of the screw shaft 5. Between the load ball rolling groove 2 and ball circulating groove 3 of the nut 1, and the screw shaft 5 of the screw shaft 5, a plurality of balls are put in an array, which serve as a plurality of rolling elements which can move in a rolled manner. In response to relative rotation of the nut 1 to the screw shaft 5, the plurality of balls roll with load received between the load ball rolling groove 2 of the nut 1 and the ball rolling groove 6 of the screw shaft 5.

The ball circulating groove 3 of the nut 1, which is shown in FIG. 32, is a part corresponding to the deflector shown in FIG. 31. The ball circulating groove 3 makes it possible that the balls overleap screw threads 7 of the screw shaft 5 in such a manner that the balls, which rolls along the load ball rolling groove 2 of the screw shaft 5, return to the original load ball rolling groove after one turn around the screw shaft 5.

In the case of the conventional model, the regression path was formed such that, when a development elevation shown in FIG. 35 is wound around the screw shaft, the path is seen to be shifted from the screw shaft center to a certain extent that the screw threads are avoided from colliding with the balls. As can be understood from curvature changes shown in FIG. 36, this path is discontinuous. Hence the three-dimensional clothoid interpolation is used to redesign a circulation path with continuous curvature changes.

FIG. 37 shows a trajectory depicted by the center of a ball. In order to realize that the circulating path along which a ball rolls is G2-continusou as a whole, it is required to be G2-continuous at a point where the ball transfers to the regression path. Thus, for designing a regression path, it is considered that the fact that a tangential line, normal line and curvature should be controlled at both end points of the regression path.

(3-2) Hereinafter the Three-Dimensional Clothoid Curve is Used to Design the Regression Path of a Deflector Type of Ball Screw, and an Example of this Design will Now be Described.

(a-1) Screw Shaft and Balls:

The dimensions of a screw shaft and balls used in the present design are listed in Table 14. TABLE 14 Dimensions of screw shaft and balls outer diameter of screw shaft (mm) 28.0 ball central diameter (mm) 28.0 root diameter (mm) 24.825 pitch (mm) 5.6 ball diameter (mm) 3.175

(a-2) Symmetry and Coordinate System:

In designing the regression path of the deflector type of ball screw, applications of the ball screw require that the regression path be axial symmetry. A coordinate system used in the design will now be described.

First, as shown in FIG. 38, the z-axis is assigned to the direction of the screw shaft. A solid line in FIG. 28 shows a trajectory depicted by the center of a ball when the ball is moved along a thread groove. Assignment is made in the coordinate system such that a point entering a regression path is P_(s), a point returning from the regression path to a thread groove is P_(e), and a middle point between both points P_(s) and P_(e) is P_(m). As shown in FIG. 39, when being projected to the xy plane, both points P_(s) and P_(e) create an isosceles triangle among the points O, P_(s) and P_(e), in which the y-axis is assigned to the direction along a perpendicular bisector passed through an angle ∠P_(s)OP_(e) of this isosceles triangle. With the symmetry considered, the y-axis is set so as to pass the point P_(m). The directions of the respective axes are those as shown in FIGS. 38 and 39. The coordinate system is set like this, in which the regression path is designed to be y-axis symmetry.

In actual design, an angel θwas set to 15 degrees in the above coordinate system and the coordinates of each point were decided based on this angle. The decided coordinates, tangential line, normal line and curvature are listed in Table 15. TABLE 15 Coordinate of each point and tangential line, normal line and curvature thereat coordinate tangential line normal line curvature point P_(s) {−3.6088, −13.5249, 2.5563} {0.96397, −0.25829, 0.063533} {0.25881, 0.96592, 0.0} 0.071428 point P_(e) {3.6088, −13.5249, −2.5563} {0.96397, 0.25829, 0.063533} {−0.25881, 0.96592, 0.0} 0.071428 point P_(m) {0.0, −13.5249, 0.0} — — —

(a-3) Constraint Conditions:

Description will now be given to constraint conditions used in the design of the regression path of the deflector type of ball screw. At first, the points P_(s) and P_(s) should have the G² continuity in respect of the curve of a trajectory depicted by the center of a ball rolling along the thread groove.

The description will then be given to a height over which the ball is lifted. When taking it account that the regression path is the y-axis symmetry, it is understood that the center of the ball passes a certain point on the y-axis. This point is noted as P_(h) (refer to FIGS. 38 and 39). Thus, in order that the ball overleaps a screw thread, it is at least required that the absolute value of the y-coordinate of the point P_(h) satisfy a condition of (absolute value of y-coordinate of point P _(h))≧(outer diameter of screw shaft+ball diameter)/2.

Thus, in the present design, setting was made such that

(absolute value of y-coordinate of point P_(h))=(outer diameter of screw shaft+ball diameter×1.2)/2. Furthermore, when taking the y-axis symmetry into consideration, the normal direction should be {0,1,0}, which results in that the tangential direction has only a degree of freedom to rotate therearound.

The regression path with the y-axis symmetry, which still meets the foregoing conditions, is produced with the three-dimensional clothoid curve. Actually, in addition to the foregoing conditions, interference with the screw shaft should be taken into account. This interference problem is avoided by redesigning the path through procedures where the initial values for the interpolation are changed and/or points being interpolated are increased, if an inspection of the designed regression path reveals such interference.

(a-4) For Avoiding Interference:

The interference with the thread shaft tends to occur in a beginning part of the regression path and such a tendency of the interference cannot be avoided in cases where the path is formed on the free interpolation. It is commanded that the regression path is released from the screw shaft and returned to its original position over the screw threads. For avoiding the interference, it is desirable that the path is released from the screw shaft by a certain amount of height, before being returned to its original position over the screw threads. Methods of producing such a regression path include a technique by which the number of points being interpolated is increased for avoiding the interference and a further technique by which the first curve located to face the regression path is manually produced to perform a forcible release from the screw shaft. Of these techniques, the present design adopted the technique by which the first curve located to face the regression path is manually produced to perform a forcible release from the screw shaft.

Here, the first curve C₁ which is located to face the regression path stating from the point P_(s) will now be described. With handling the coordinates, tangential rotation angles α and β, normal line and curvature on the curve C₁ as functions of the curve length variable S, these parameters are expressed as Px_(1′)(S), Py_(1′)(S), Pz₁(S), α₁(S), β₁(S), n₁(S), and κ₁(S). In addition, as to the points P_(s) and P_(h), the coordinates, tangential rotation angles α and β, normal line and curvature at the point P_(s) are expressed as Px_(s), Py_(s), Pz_(s), α_(s), β_(s), n_(s) and κ_(s), while those parameters at the point P_(h) are expressed as Px_(h), Py_(h), Pz_(h), α_(h), β_(h), n_(h) and κ_(h). Conditions for realizing the G₂ continuity from a trajectory curve depicted by the center of a ball rolling along the thread grooves result in that the following expressions are realized at the point P_(s).

[Numeral 69]

Point Ps: tangential line, normal line and curvature: 4 expression cos [α₁(0)−α_(s)]=1 cos [β₁(0)−β_(s)]=1 n ₁(0)·n _(s)=1 κ₁(0)=κ_(s)

In addition, a trajectory curve depicted by the center of the ball rolling on and along the thread grooves can be expressed by the three-dimensional clothoid curve. On the other hand, a three-dimensional clothoid curve C₀ which starts from a point shown in FIG. 40 and runs by one turn can be expressed by the following expressions, in which pit represents a screw pitch, R represents an outer diameter of the screw shaft, and α₀ represents a screw pitch angel. $\begin{matrix} {{{\alpha_{0}(S)} = {- \alpha_{0}}}{{\beta_{0}(S)} = {\beta_{e} + {2\pi\quad S}}}{h_{0} = \sqrt{{pit}^{2} + \left( {2\pi\quad R} \right)^{2}}}{{P_{0}(S)} = {P_{e} + {h_{0}{\int_{0}^{1}{{u(S)}{\mathbb{d}S}}}}}}} & \left\lbrack {{Numeral}\quad 70} \right\rbrack \end{matrix}$

In the expressions about the curve C₀, the point P_(s) is expressed as P_(s)=P₀(11/12). In cases where a curve having the parameters listed in the next expression is produced as a curve C₁ staring from the point P_(s) and achieving the G₂ continuity from the curve C₀ at the point P_(s), the forcible release from the screw shaft is possible. $\begin{matrix} \left\{ {\quad\begin{matrix} {{\alpha_{1}(S)} = {- \alpha_{0}}} \\ {{\beta_{1}(S)} = {{\beta_{0}\left( \frac{\pi}{12} \right)} + {\frac{1}{60}\left( {{b\quad 1_{0}} + {\frac{11}{6}b\quad 2_{0}}} \right)S} - {\frac{1}{15}\left( {{b\quad 1_{0}} + {\frac{11}{6}b\quad 2_{0}}} \right)S^{2}}}} \\ {{P_{1}(S)} = {P_{s} + {\frac{h_{0}}{60}{\int_{0}^{1}{{u_{1}(S)}{\mathbb{d}S}}}}}} \end{matrix}} \right. & \left\lbrack {{Numeral}\quad 71} \right\rbrack \end{matrix}$

For example, as such a curve C₁ satisfying the above conditions, a three-dimensional clothoid curve with parameters listed in Tale 16 is produced. TABLE 16 Parameters of curve C₁ curve C₁ a₀ 6.2196 a₁ 0.0 a₂ 0.0 b₀ 6.0213 b₁ 0.10472 b₂ −0.41887 h 1.4631 Starting {−3.6088, −13.5249, 2.5563} point

A comparison between the values of the tangential line, normal line, and curvature between the curves C₀ and C₁ at the point PS results in Table 17, from which it is confirmed that the G² continuity is realized. TABLE 17 Shifts in tangential line, normal line, and curvature at point P_(s) coordinate unit tangential vector principal normal vector curvature curve C₀ {−3.6088, −13.5249, 2.5563} {0.96397, −0.25829, 0.063533} {0.25881, 0.96592, 0.0} 0.071428 curve C₁ {−3.6088, −13.5249, 2.5563} {0.96397, −0.25829, 0.063533} {0.25881, 0.96592, 0.0} 0.071428 difference {0.000, 0.000, 0.000} {0.000, 0.000, 0.000} {0.000, 0.000, 0.000} 0

Further, from FIGS. 41 and 42, it is comprehended that this curve has a shape which enables a mere release from the screw shaft. Thus, as to the first curve C₁ located to face the regression path starting from the point P_(s), the parameters of this curve were used.

(a-5) Conditional Expressions for Three-Dimensional Clothoid Interpolation and Unknowns:

In consideration of the conditions stated in section a-3, the Newton-Rapson method is used to obtain approximate values of the parameters of each curve under the condition that the G² continuation is realized. Since the curve C₁ starting from the point P_(s) has already been produced in the description done so far, how to design a path connecting the end point P₁ of the curve C₁ and the point P_(h) will then be described. Subscripts being used in the following description have correspondences between each character and each curve, so that the coordinates, tangential rotation angles α and β, normal line, and curvature of and to each curve are expressed, as functions of the curve length variable S, by Px_(i′)(S), Py_(i′)(S), Pz_(i′)(S), α_(i)(S), β_(i)(S), n_(i)(S), and κ_(i)(S). In addition, at the point P_(h), the coordinates, tangential rotation angles α and β, normal line, and curvature of and to each curve are expressed by Px_(h), Py_(h), Pz_(h), α_(h), β_(h), n_(h), and h_(h).

In the design of the path, the points which should be subjected to a strict passage are the two points P₁ and P₂, so that the three-dimensional interpolation is directed to those two points. Considering interpolating conditions required at both end points teaches the fact that the conditional expressions are larger in number than the unknowns by 2. Hence, for the G²-continuous three-dimensional clothoid interpolation, let us assume that a point P₂ is inserted between the points P₁ and P_(h), as illustrated in FIG. 43. In addition, let a curve connecting the points P₁ and P₂ be a curve C₂ and a curve connecting the points P₂ and P_(e) be a curve C₃, respectively.

[Numeral 72] The Following is Interpolation Condition at Each Point.

-   Point P₁: tangential line, normal line, and curvature: 4 expressions     cos [α₂(0)−α₁(1)]=1     cos [β₂(0)−β₁(1)]=1     n ₂(0)·n ₁(1)=1     κ₂(0)=κ₁(1) -   Point P₂: position, tangential line, normal line, and curvature: 7     expressions     Px ₃(1)=Px ₂(0)     Py ₃(1)=Py ₂(0)     Pz ₃(1)=Pz ₂(0)     cos [α₃(1)−α₂(0)]=1     cos [β₃(1)−β₂(0)]=1     n ₃(1)·n ₂(0)=1     κ₃(1)=κ₂(0) -   Point P_(h): position, β, and normal line: 5 expressions     Px ₃(1)=Px _(h)     Py ₃(1)=Py _(h)     Pz ₃(1)=Pz _(h)     cos [β₃(1)]=1     n ₃(1)·{0,1,0}=1

As listed above, the number of conditional expressions to be established is 16 in total. The clothoid parameters owned by each curve is seven pieces consisting of a₀, a₁, a₂, b₀, b₁, b₂ and h, and the number of unknowns is 14, because the number of curves is two. However, the unknowns are not equal in number to the conditional expressions, so that solutions cannot be obtained. Therefore, the y and z coordinates at the newly inserted two points P₂ are treated as unknowns so as to increase the unknowns by 2. By this increase, the unknowns and the conditional expressions are both 16 in number, respectively, whereby solutions can be obtained. Though not being reduced into practice in the present design, this relationship between the number of unknowns and the number of conditional expressions is always met whenever a point to be passed strictly in mid course is given and the G₂ continuity is realized before and after the given point. Thus solutions can be calculated even if points being interpolated are increased between the points P₁ and P_(h).

(a-6) Obtaining Clothoid Parameters Satisfying Conditions:

Solutions satisfying the conditional expressions established in section a-5 were calculated by using the Newton-Rapson method. How to interpolate parameters and how to produce initial values were based on the techniques for the three-dimensional clothoid interpolation. Table 18 shows the calculated parameters of each curve and Table 19 shows shifts in the coordinate, tangential line, normal lines and curvature at each connecting point. TABLE 18 Produced parameters of curve curve C₂ a₀ −0.063576 a₁ 0.0000 a₂ 0.62696 b₀ −0.57595 b₁ −0.98004 b₂ 0.77916 h 1.9561 starting {−2.2429, −14.021, 2.6492} point P₁ curve C₃ a₀ 6.8465 a₁ 1.729 a₂ −0.86450 b₀ −0.77684 b₁ 0.79736 b₂ −0.020523 h 2.69723 starting {−0.93007, −15.389, 2.3720} point P₂

TABLE 19 Shifts in coordinate, tangential line, normal line, and curvature at each connecting point coordinate unit tangential vector principal normal vector curvature P₁ curve C₁ {−2.2429, −14.021, 2.6492} {0.83697 −0.54353, 0.063533} {−0.54463, −0.83867, 0.0} 0.50 curve C₂ {−2.2429, −14.021, 2.6492} {0.83697 −0.54353, 0.063533} {−0.54463, −0.83867, 0.0} 0.50 difference {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} 0 P₂ curve C₂ {−0.93007, −15.389, 2.3720} {0.60291, −0.59268, −0.53405} {−0.10017, 0.60786, −0.78769} 0.68803 curve C₃ {−0.93007, −15.389, 2.3720} {0.60291, −0.59268, −0.53405} {−0.10017, 0.60786, −0.78769} 0.68803 difference {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} 0 P_(h) curve C₃ {0.000 −15.905, 0.0} {0.14241, 0.0000, −0.98980} {0.000, 1.0, 0.000} 0.039934 given value {0.0, −15.905, 0.0} — {0.0, 1.0, 0.0} — difference {0.0, 0.0, 0.0} — {0.0, 0.0, 0.0} —

(a-7) Production of Path:

On the basis of the parameters obtained in sections a-5 and a-6, the path extending from the point P_(s) to the point P_(h) can be designed. Additionally, the path extending from the point P_(h) to the point P_(e) can also be produced with use of the same curve, because both paths are y-axis symmetry. That is, the same path is provided by re-setting the coordinate system so as to regard the point P_(e) as the point P_(s).

FIG. 44 shows a path produced on the foregoing techniques. In the figure, a solid line depicts a curve C₀ which is a trajectory presented by the center of a ball on the screw shaft, and a broken line, a chain line, and a chain double-dashed line depict three curves C₁, C₂ and C₃, respectively, which form the path extending from the point P_(s) to the point P_(n). In addition, the three curves, which are depicted by the chain double-dashed line, chain line, and dashed line and which serve as a connection between the points P_(n) and P_(e), are curves which are symmetric to the curves C₃, C₂ and C₁ with regard to the y-axis.

FIG. 45 presents a graph showing the relationship a moved distance s and the curvature κ, wherein the moved distance is obtained by moving along the regression path counterclockwise when it is viewed in the positive z-axis direction from the point P_(e). The types of lines in the graph correspond to those of the curves in FIG. 44.

Based on the above technique, the regression path of the deflector type of ball screw was designed by the three-dimensional clothoid curve. This technique for designing the regression path, which uses the three-dimensional clothoid curve, will not be limited to the application to the deflector type of ball screw, off course. Other applications are possible, which include an application to a ball screw, called a return pipe type of ball screw, in which the regression path is composed of a pipe, and a further application to a ball screw, called an end cap type of ball screw, in which balls are picked up from the ball rolling groove of a screw shaft by an end cap placed on a nut end surface and the balls are returned to the ball rolling groove from an opposite-side end cap after being passed through the inside of the nut.

By the way, in cases where programs for achieving the design method according to the present invention are performed by a computer, the programs are previously stored in auxiliary storages, such as hard disk units, of the computer, and then loaded into a main memory thereof. In addition, such programs may be stored in portable recording mediums such as CD-ROMs for making sales, or may be stored in a recording medium of a computer connected to a network so that the programs may be transferred to other computers via the network.

B. Numerical Control Method Using the Clothoid Curve:

Hereinafter, as for embodiments of the present invention according to the numerical control method using the clothoid curve, the description will now be given, by turns, to each of divided items consisting of 1) definition and characteristics of a three-dimensional clothoid curve, 2) interpolation method based on the three-dimensional clothoid curve, and 3) numerical control method using the three-dimensional clothoid curve.

1. Definition and Characteristics of a Three-Dimensional Clothoid Curve:

(1) Basic Expression of the Three-Dimensional Clothoid:

A clothoid curve (Clothoid curve), which is also called Cornu's spiral, is a curve whose curvature changes in proportion to the length of the curve. The conventionally known two-dimensional clothoid curve is one kind of planar curves (two-dimensional curves) and expressed in the xy coordinate system shown in FIG. 46 by the following expressions. $\begin{matrix} \left\lbrack {{Numeral}\quad 73} \right\rbrack & \quad \\ {{P = {{P_{0} + {\int_{0}^{s}{{\mathbb{e}}^{j\phi}{\mathbb{d}s}}}} = {P_{0} + {h{\int_{0}^{S}{{\mathbb{e}}^{j\phi}{\mathbb{d}S}}}}}}},{0 \leq s \leq h},{{0 \leq S} = {\frac{s}{h} \leq 1}}} & (1) \\ {{\phi = {{c_{0} + {c_{1}s} + {c_{2}s^{2}}} = {\phi_{0} + {\phi_{v}S} + {\phi_{u}S^{2}}}}}{wherein}} & (2) \\ \left\lbrack {{Numeral}\quad 74} \right\rbrack & \quad \\ {{P = {x + {j\quad y}}},{j = \sqrt{- 1}}} & (3) \end{matrix}$ is a positional vector representing a point on the curve and [Numeral 75] P ₀ =x ₀ +jy ₀   (4) is an initial value (a positional vector at a starting point) of the positional vector. [Numeral 76] e ^(jφ)=cos φ+j sin φ  (5) is a unit vector (a vector of which length is 1) representing a tangential direction on the curve and the direction φ is measured in the counterclockwise direction from an original line (x-axis direction). Multiplying this unit vector by a infinitesimal length ds for integration of the multiplied results leads to acquisition of a point P on the curve.

Let us assume that a length on the curve, which is measured along the curve from a starting point thereof, is s and a whole length (a length from the starting point to an end point of the curve) is h. A value obtained by dividing s by h is expressed as S. S is a dimensionless value, which is referred to as a curve length variable.

As shown in Expression (2), the clothoid curve has a feature that the tangential direction angle φ is expressed as a quadratic expression of the curve length s or the curve length variable S. c₀, c₁, and c₂ or φ_(o), φ_(u) and φ_(v) are coefficients of the quadratic expression, and these coefficients and the whole length h of the curve are called clothoid parameters. FIG. 47 shows the shape of a general clothoid curve.

The above relationships are expanded to the three-dimensional one to produce expressions representing a three-dimensional clothoid curve. Conventionally, expressions which provide the three-dimensional clothoid curve have not been known. This time, however, the present inventors have completed this expansion for the first time in this field.

The three-dimensional clothoid curve is defined by the following expressions. $\begin{matrix} \left\lbrack {{Numeral}\quad 77} \right\rbrack & \quad \\ {\quad{{P = {{P_{0} + {\int_{0}^{s}{u{\mathbb{d}s}}}} = {P_{0} + {h{\int_{0}^{S}{u{\mathbb{d}S}}}}}}},{0 \leq s \leq h},{{0 \leq S} = {\frac{s}{h} \leq 1}}}} & (6) \\ {u = {{E^{k\quad\beta}\quad{E^{j\quad\alpha}(\quad i)}} = \quad{{{\left\lbrack \quad\begin{matrix} {\cos\quad\beta} & {{- \sin}\quad\beta} & 0 \\ {\sin\quad\beta} & {\cos\quad\beta} & 0 \\ 0 & 0 & 1 \end{matrix} \right\rbrack\left\lbrack \quad\begin{matrix} {\cos\quad\alpha} & 0 & {\sin\quad\alpha} \\ 0 & 1 & 0 \\ {{- \sin}\quad\alpha} & 0 & {\cos\quad\alpha} \end{matrix} \right\rbrack}\quad\begin{Bmatrix} 1 \\ 0 \\ 0 \end{Bmatrix}} = \left\lbrack \quad\begin{matrix} {\cos\quad\beta\quad\cos\quad\alpha} \\ {\sin\quad\beta\quad\cos\quad\alpha} \\ {{- \sin}\quad\alpha} \end{matrix}\quad \right\rbrack}}} & (7) \\ {\quad{\alpha = {a_{0} + {a_{1}S} + {a_{2}S^{2}}}}} & (8) \\ {\quad{{\beta = {b_{0} + {b_{1}S} + {b_{2}S^{2}}}}\quad{wherein}}} & (9) \\ \left\lbrack {{Numeral}\quad 78} \right\rbrack & \quad \\ {{{\text{~~~~}P} = \begin{Bmatrix} x \\ y \\ z \end{Bmatrix}},{P_{0} = \begin{Bmatrix} x_{0} \\ y_{0} \\ z_{0} \end{Bmatrix}}} & (10) \end{matrix}$ denotes a positional vector at each point on the three-dimensional clothoid and an initial value of the positional vector, respectively. i, j and k are unit vectors in the x-axis, y-axis and z-axis directions, respectively.

u is a unit vector representing the tangential direction at the point P on the curve, which is given by Expression (7). In Expression (7), E^(kβ) and E^(jα) show rotation matrices and, as shown in FIG. 48, mean a rotation of angle β about the k-axis (z-axis) and a rotation of angle α about the j-axis (y-axis), respectively. The former is called a yaw rotation, while the latter is called a pitch rotation. Expression (7) thus means that rotating the unit vector in the i-axis (x-axis) direction by an angle α about the j-axis (y-axis) and then rotating the resultant unit vector by an angle β about the k-axis (z-axis) produces the tangential vector u.

In other words, in the case of the two-dimension, a unit vector e^(jφ) representing a tangential direction on a curve is obtained on a tilt angle φ made from the x-axis. In the case of the three-dimension, the tangential vector u on a curve can be obtained on the pitch angle α and the yaw angle β. A pitch angle of 0 provides a two-dimensional clothoid curve wound in the xy plane, while a yaw angle of 0 provides a two-dimensional clothoid curve wound in the xz plane. Multiplying the tangential vector u by a infinitesimal length ds for integration provides a three-dimensional clothoid curve.

For the three-dimensional clothoid curve, the tangential vector has a pitch angle α and a yaw angle β which are given by a quadratic expression of the curve length variable S, as shown by Expressions (8) and (9), respectively. This enables free selection of changes of the tangential direction, while still giving continuousness to the changes.

As represented by the above expressions, the three-dimensional clothoid curve is defined as “a curve in which the pitch angle and the yaw angle of a tangential direction are expressed by a quadratic expression of a curve length variable, respectively.”

A single three-dimensional clothoid segment starting from P₀ is decided with seven parameters composed of

[Numeral 79] a₀, a₁, a₂, b₀, b₁, b₂, h   (11). The six variables of a₀ to b₂ have the unit of angle and represent the shape of a clothoid segment. In contrast, h has the unit of length, which represents the amplitude of a clothoid segment.

A typical example of the three-dimensional clothoid curve is a spiral curve, as shown in FIG. 49.

(2) Moving Frame:

Replacing the basic tangential vector i with basic coordinate system [i, j, k] in Expression (7) provides a moving frame E, which is expressed as follows. $\begin{matrix} \left\lbrack {{Numeral}\quad 80} \right\rbrack & \quad \\ \begin{matrix} {E = {\left\lbrack {u\quad v\quad w} \right\rbrack = {{E^{k\quad\beta}{E^{j\quad\alpha}\left\lbrack {i\quad j\quad k} \right\rbrack}} = {{E^{k\quad\beta}{E^{j\quad\alpha}\lbrack I\rbrack}} = {E^{k\quad\beta}E^{j\quad\alpha}}}}}} \\ {= \begin{bmatrix} {\cos\quad\beta\quad\cos\quad\alpha} & {{- \sin}\quad\beta} & {\cos\quad\beta\quad\sin\quad\alpha} \\ {\sin\quad\beta\quad\cos\quad\alpha} & {\cos\quad\beta} & {\sin\quad\beta\quad\sin\quad\alpha} \\ {{- \sin}\quad\alpha} & 0 & {\cos\quad\alpha} \end{bmatrix}} \end{matrix} & (12) \\ {{u = \begin{Bmatrix} {\cos\quad\beta\quad\cos\quad\alpha} \\ {\sin\quad\beta\quad\cos\quad\alpha} \\ {{- \sin}\quad\alpha} \end{Bmatrix}},{v = \begin{Bmatrix} {{- \sin}\quad\beta} \\ {\cos\quad\beta} \\ 0 \end{Bmatrix}},{w = \begin{Bmatrix} {\cos\quad\beta\quad\sin\quad\alpha} \\ {\sin\quad\beta\quad\sin\quad\alpha} \\ {\cos\quad\alpha} \end{Bmatrix}}} & (13) \end{matrix}$ In these expressions, v and w are unit vectors contained in a plane perpendicular to a tangential line on a curve and these unit vectors are perpendicular to each other and also perpendicular to a tangential unit vector u. A group of these three unit vectors (triad) is a frame (coordinate system, frame) which moves together with a moving point P, so that the group of the three unit vectors is referred to as a moving frame.

Because the moving frame can be provided by the foregoing expressions, the computation of the principal and binormal lines is facilitated, thereby curves can easily be analyzed in terms of their shapes.

Further, the moving frame E can be used to obtain the attitudes of tool points of a robot, which makes it possible to provide the positional attitudes of an object griped by a robot hand.

When assuming that the start and end values of the moving frame E are indicated by E₀ and E₁, respectively, the following is provided.

[Numeral 81] E₀=E^(kb) ⁰ E^(ja) ⁰   (14) E ₁ =E ^(k(b) ⁰ ^(+b) ¹ ^(+b) ² ⁾ E ^(j(a) ⁰ ^(+a) ¹ ^(+a) ² ⁾   (15)

(3) Rolling:

With taking the moving frame into consideration, the third rotation “roll” can be handled. The roll is a rotation around a tangential direction. Though the roll has no influence on the shape of the three-dimensional clothoid itself, the roll influences a moving frame induced from the three-dimensional clothoid. For example, abacus balls through which a piece of winding wire is passed can be rotated freely on the wire, but this does not mean that the shape of the wire is changed by the rotation.

In consideration of the rolling, the moving frame can be expressed as follows.

[Numeral 82] E=E^(kβ)E^(jα)E^(iγ)I=E^(kβ)E^(jα)E^(iγ)  (16)

A rolling angle γ in this expression can be represented as a function of S.

[Numeral 83] γ=c ₀ +c ₁ S+c ₂ S ²   (17)

(4) Geometrical Characteristics of the Three-Dimensional Clothoid Curve:

(a) Normal Line to the Three-Dimensional Clothoid Curve:

It is known that a normal vector to a three-dimensional curve can be provided by the following expression, which uses a tangential vector u. $\begin{matrix} \left\lbrack {{Numeral}\quad 84} \right\rbrack & \quad \\ {n = \frac{u^{\prime}}{u^{\prime}}} & (18) \end{matrix}$

Using Expression (7), the first-order derivative of a tangential vector to a three-dimensional clothoid curve can be obtained by the following. $\begin{matrix} \left\lbrack {{Numeral}\quad 85} \right\rbrack & \quad \\ {{{u^{\quad\prime}(S)} = \quad\begin{Bmatrix} \begin{matrix} {{{{- \quad\alpha^{\quad\prime}}\quad(S)\quad\cos\quad\beta\quad(S)\quad\sin\quad\alpha\quad(S)} +}\quad} \\ {\quad{\beta^{\quad\prime}\quad(S)\quad\sin\quad\beta\quad(S)\quad\cos\quad\alpha\quad(S)}} \end{matrix} \\ \begin{matrix} {{{{- \quad\alpha^{\quad\prime}}\quad(S)\quad\sin\quad\beta\quad(S)\quad\sin\quad\alpha\quad(S)} +}\quad} \\ {\quad{\beta^{\quad\prime}\quad(S)\quad\cos\quad\beta\quad(S)\quad\cos\quad\alpha\quad(S)}} \end{matrix} \\ {{- \alpha^{\quad\prime}}\quad(S)\quad\cos\quad\alpha\quad(S)} \end{Bmatrix}}\quad{{{u^{\quad\prime}\quad(S)}} = \sqrt{{\alpha^{\quad\prime}\quad(S)^{2}} + {\beta^{\quad\prime}\quad(S)^{2}\quad\cos^{\quad 2}\quad\alpha\quad(S)}}}} & (19) \end{matrix}$

That is, by using S, the normal vector to the three-dimensional clothoid curve can be represented as follows. $\begin{matrix} \left\lbrack {{Numeral}\quad 86} \right\rbrack & \quad \\ \begin{matrix} {{n(S)} = \frac{\quad{u^{\quad\prime}\quad(S)}}{{u^{\quad\prime}\quad(S)}}} \\ {= \begin{matrix} \frac{1}{\quad\sqrt{{\alpha^{\quad\prime}(S)}^{2} + {{\beta^{\quad\prime}(S)}^{2}\quad\cos^{\quad 2}\quad\alpha\quad(S)}}\quad} \\ \begin{Bmatrix} \begin{matrix} {{{{- \quad\alpha^{\quad\prime}}\quad(S)\quad\cos\quad\beta\quad(S)\quad\sin\quad\alpha\quad(S)} -}\quad} \\ {\quad{\beta^{\quad\prime}\quad(S)\quad\sin\quad\beta\quad(S)\quad\cos\quad\alpha\quad(S)}} \end{matrix} \\ \begin{matrix} {{{{- \quad\alpha^{\quad\prime}}\quad(S)\quad\sin\quad\beta\quad(S)\quad\sin\quad\alpha\quad(S)} +}\quad} \\ {\quad{\beta^{\quad\prime}\quad(S)\quad\cos\quad\beta\quad(S)\quad\cos\quad\alpha\quad(S)}} \end{matrix} \\ {{- \quad\alpha^{\quad\prime}}\quad(S)\quad\cos\quad\alpha\quad(S)} \end{Bmatrix} \end{matrix}} \end{matrix} & (20) \end{matrix}$

(b) Normal Line to the Three-Dimensional Curve, with the Use of Rotation:

In this item, it will now be considered about how to decide a normal line u, in the similar way to deciding the tangential line n shown in Expression (7). Assume that, with an initial tangential direction (1, 0, 0) given, the constant γ is used to express the initial normal direction as (0, cos γ, −sin γ). Rotation this direction in the same way as that of the tangential line, the normal line n is expressed as follows. $\begin{matrix} \left\lbrack {{Numeral}\quad 87} \right\rbrack & \quad \\ \begin{matrix} {{n(S)} = \begin{matrix} \begin{bmatrix} {\cos\quad{\beta(S)}} & {{- \sin}\quad{\beta(S)}} & 0 \\ {\sin\quad{\beta(S)}} & {\cos\quad{\beta(S)}} & 0 \\ 0 & 0 & 1 \end{bmatrix} \\ {\begin{bmatrix} {\cos\quad{\alpha(S)}} & 0 & {\sin\quad{\alpha(S)}} \\ 0 & 1 & 0 \\ {{- \sin}\quad{\alpha(S)}} & 0 & {\cos\quad{\alpha(S)}} \end{bmatrix}\begin{Bmatrix} 0 \\ {\cos\quad\gamma} \\ {{- \sin}\quad\gamma} \end{Bmatrix}} \end{matrix}} \\ {= \begin{Bmatrix} {{{- \sin}\quad{{\gamma cos\beta}(S)}\sin\quad{\alpha(S)}} - {\cos\quad{\gamma sin}\quad{\beta(S)}}} \\ {{{- \sin}\quad{{\gamma sin\beta}(S)}\sin\quad{\alpha(S)}} + {\cos\quad{\gamma cos}\quad{\beta(S)}}} \\ {{- \sin}\quad{{\gamma cos\alpha}(S)}} \end{Bmatrix}} \end{matrix} & (21) \end{matrix}$

A comparison between Expressions (20) and (21) reveals that sin γ and cos γ correspond to Expressions listed below. $\begin{matrix} \left\lbrack {{Numeral}\quad 88} \right\rbrack & \quad \\ {{{\sin\quad\gamma} = \frac{\alpha^{\quad\prime}(S)}{\sqrt{{\alpha^{\quad\prime}(S)}^{2} + {\beta^{\quad\prime}\quad(S)^{2}\cos^{\quad 2}\quad\alpha\quad(S)}}}}{{\cos\quad\gamma} = \frac{{\beta^{\quad\prime}(S)}\cos\quad{\alpha(S)}}{\sqrt{{\alpha^{\quad\prime}(S)}^{2} + {\beta^{\quad\prime}\quad(S)^{2}\cos^{\quad 2}\quad\alpha\quad(S)}}}}} & (22) \end{matrix}$

(c) Continuity of Normal Line at Connecting Point in the Three-Dimensional Clothoid Interpolation:

In order to assure that normal lines are continuous at a connecting point in the step of carrying out the three-dimensional clothoid interpolation, it is understood from Expression (22) that it is sufficient to satisfy that values provided by an expression of $\begin{matrix} \left\lbrack {{Numeral}\quad 89} \right\rbrack & \quad \\ {{\tan\quad\gamma} = \frac{\alpha^{\quad\prime}(S)}{{\beta^{\quad\prime}(S)}\cos\quad{\alpha(S)}}} & (23) \end{matrix}$ are continuous.

(d) Curvature of the Three-Dimensional Clothoid Curve:

The curvature of a three-dimensional clothoid curve is provided by the following expression. $\begin{matrix} \left\lbrack {{Numeral}\quad 90} \right\rbrack & \quad \\ {{\kappa(S)} = {\frac{{{P^{\prime}(S)} \times {P^{\prime\prime}(S)}}}{{P^{\prime}(S)}} = {\frac{{{u(S)} \times {u^{\prime}(S)}}}{h} = \frac{{u^{\prime}(S)}}{h}}}} & (24) \end{matrix}$

From Expression (19), the curvature is expressed as follows. $\begin{matrix} \left\lbrack {{Numeral}\quad 91} \right\rbrack & \quad \\ {{\kappa(S)} = \frac{\sqrt{{\alpha^{\quad\prime}}^{2} + {{\beta^{\quad\prime}}^{2}\cos^{\quad 2}\quad\alpha}}}{h}} & (25) \end{matrix}$

(5) Characteristics of the Three-Dimensional Clothoid Curve:

(a) Continuity of the Curve:

In the case of a single clothoid segment (i.e., a clothoid represented by the same parameters), pitch angles and yaw angles made by its tangential directions are given by quadratic expressions with a curve length variable S, respectively. Thus it is guaranteed that normal directions obtained by applying one-time differential to the quadratic expressions and curvatures to be obtained by two-time differential to that are continuous with the respect to the curve length variable S. In other words, each one clothoid has normal lines and curvatures, which change continuously along the one clothoid curve. Accordingly a smooth and good quality curve can be obtained. In the case that two clothoid curves are mutually connected, it is sufficient to select parameters to permit tangential lines, normal lines, and curvatures to be continuous at their connecting point. This selection manner will produce a one smoothly connected line, called clothoid splines.

(b) Applicability:

Because the tangential directions of curves can be swung with changing two angles (pitch angle and yaw angle), an arbitrary three-dimensional curve can be produced in conformity with various conditions for various applications.

(c) Geometric Curves and Consistency:

Geometric curves, such as liner segments, circular arches, and screw curves, can be produced by giving zero to some of the clothoid parameters or giving particular functional relationships to some of the parameters. The curves to be produced in those ways are a kind of clothoid curves, so that they can be expressed in the format of clothoids. Accordingly, it is not necessary to treat the curves, as done in the conventional NC, by changing the formats on which liner segments, circular arches, free curves, and others are described. The curves can be computed or controlled without changing the formats thereof.

Furthermore, by replacing either α or β at any time, a two-dimensional clothoid can be made. Thus, sources of knowledge which have already been acquired concerning the two-dimensional clothoid can be utilized well.

That is, proper setting of α or β makes it possible to express individual curves, such as circular arches and liner segments, including the already known two-dimensional clothoid. Such respective curves can be expressed by using the expressions having the same format as that for expressing the thee-dimensional clothoid curve, thereby simplifying the computation procedures.

(d) Good Perspective:

In mathematizing free curves using the conventional interpolation techniques including the spline interpolation, it is frequent that the whole shape or a local shape is difficult to understand. In contrast, for using the three-dimensional clothoid, it is possible to imagine each of a pitch angle and a yaw angle, with the result that the whole shape can be grasped in a relatively easier manner.

In addition, on completion of expressing a curve as a clothoid curve, the line lengths, tangential directions, curvatures thereof have been known. Thus, unlike the conventional interpolation techniques, there is no need for new computation. Namely, correspondingly to the parameters S for a curve, the tangential lines, normal lines, and the curvature of the curve can be obtained in a direct manner, as shown in Expressions in (7), (20) and (26). This is a very effectively feature useful for a numerical control technique which will be described later. That is, this feature will lead to a largely reduced computation time, saved sources such as memories, and a real-time calculation for the interpolation.

In the NC process, keeping the curvature radius of trajectory of a tool to a minimum is a significant topic. The interpolation that uses splines can be used for computing the minimum curvature radius, but such a way involves sophisticated computation procedures. In contrast, it is advantageous to use the clothoids in various processes such as selection of the radii of cutters, because the minimum curvature radius of each segment is normally known when the clothoids are used.

(e) Easiness of Motion Control:

The main variable of a curve is a length or the normalized length is S, and the equation of this curve is given by a natural equation with regard to the length. Hence, by defining the length s as a function of the time t, an arbitrary characteristic of motion, which is for example an accelerated and decelerated motion, can be given. By employing motion curves having good characteristics, which have conventionally been used for cams, processing operations can be made faster. The length s is given as a value in the existing Cartesian space and velocity and acceleration are calculated in tangential directions, resulting in that it is not necessary to synthesize values given every axis, unlike the conventional interpolation method. Additionally, the curvature can be calculated with easiness, whereby a centrifugal acceleration of an object in motion can be obtained with easiness. Thus control can be conducted depending on motion trajectories.

(6) Production of Curve and Character of Each Parameter:

According to their definitions, a three-dimensional clothoid curve has parameters, which have an effect on the curve as follows. Giving the respective parameters allows a three-dimensional clothoid curve to be produced as shown in FIG. 49. Table 20 shows a summary of the characters of the respective parameters of the three-dimensional clothoid curve. TABLE 20 parameter meaning P₀ moving in parallel a three-dimensional curve h deciding the size of a three-dimensional curve a₀, b₀ rotating a three-dimensional curve a₁, a₂, b₁, b₂ deciding the shape of a three-dimensional curve

2. Interpolation Method Using a Three-Dimensional Clothoid Curve:

(1) Mathematical Conditions with Smooth Connection:

A single three-dimensional clothoid curve has a limitation on expressing the shapes of curves. In this section, with employing the numerical control of motion of a machine tool as a main purpose, a plurality of three-dimensional clothoid curves (three-dimensional clothoid segments) are mutually connected, and using these plural three-dimensional clothoid segments, the motion of a tool is controlled.

When two three-dimensional clothoid segments are smoothly connected at their end points, this results in a definition that their end positions, tangential lines and curvatures are continuously connected, respectively. Using the foregoing definition expressions, conditions for those connections can be described as below, in which the first three expressions show the continuity of positions, the next two expressions show the continuity of tangential lines, the next one expression shows the agreement of normal lines, and the last expression shows the continuity of curvatures.

[Numeral 92] Px _(i)(1)=Px _(i+1)(0) Py _(i)(1)=Py _(i+1)(0) Pz _(i)(1)=Pz _(i+1)(0) α_(i)(1)=α_(i+1)(0) β_(i)(1)=β_(i+1)(0) tan γ_(i)(1)=tan γ_(i+1)(0) κ_(i)(1)=κ_(i+1)(0)   (26)

These expressions provide sufficient conditions for achieving the continuity of tangential lines, normal lines, curvatures, and α and β at connecting points, and in some cases, these conditions are too strict to be applied. By taking such conditions into consideration, those conditions can be changed so as to meet the conditions in an original viewpoint, and the changed expressions are as follows.

[Numeral 93] Px _(i)(1)=Px _(i+1)(0) Py _(i)(1)=Py _(i+1)(0) Pz _(i)(1)=Pz _(i+1)(0) cos [α_(i)(1)−α_(i+1)(0)]=1 cos [β_(i)(1)−β_(i+1)(0)]=1 tan γ_(i)(1)=tan γ_(i+1)(0) κ_(i)(1)=κ_(i+1)(0)   (27)

Further, when a relationship of

[Numeral 94] cos [α_(i)(1)−α_(i+1)(0)]=1 is taken into account, [Numeral 95] tan γ_(i)(1)=tan γ_(i+1)(0) is replaced by the following conditions. $\begin{matrix} \left\lbrack {{Numeral}\quad 96} \right\rbrack & \quad \\ \begin{matrix} {{\tan\quad{\gamma_{i}(1)}} = {\tan\quad{\gamma_{i + 1}(0)}}} \\ {\frac{\alpha_{i}^{\prime}(1)}{{{\beta_{i}^{\prime}(1)}\cos\quad{\alpha_{i}(1)}}\quad} = \frac{\alpha_{i + 1}^{\prime}(0)}{{{\beta_{i + 1}^{\prime}(0)}\cos\quad{\alpha_{i + 1}(0)}}\quad}} \\ {{\because{{\alpha_{i}^{\prime}(1)}{\beta_{i + 1}^{\prime}(0)}}} = {{\alpha_{i + 1}^{\prime}(0)}{\beta_{i}^{\prime}(1)}}} \end{matrix} & \quad \end{matrix}$ [Numeral 97]

As a result, it is understood that satisfying the following conditions leads to achievement of the object. Px _(i)(1)=Px _(i+1)(0) Py _(i)(1)=Py _(i+1)(0) Pz _(i)(1)=Pz _(i+1)(0) cos [α_(i)(1)−α_(i+1)(0)]=1 cos [β_(i)(1)−β_(i+1)(0)]=1 α′_(i)(1)β′_(i+1)(0)=α′_(i+1)(0)β′_(i)(1) κ_(i)(1)=κ_(i+1)(0)   (28)

In Expression (28), the first three expressions show the continuity of positions, the next two expressions show the continuity of tangential directions, the next one expression shows the agreement of normal lines, and the last expression show the continuity of curvatures, respectively. To perform a G²-continuous interpolation, it is required that two three-dimensional clothoid curves should meet the seven conditional expressions in Expression (28) at their end points.

The G² continuity (G stands for the acronym of Geometry) will now be complemented. FIG. 50 illustrates conditions required for the G2-continuous interpolation.

G⁰ continuity is that two three-dimensional clothoid curves positionally agree with each other at their end points, G¹ continuity is that tangential directions of those agree with each other, and G² continuity is that osculating planes (normal lines) and curvatures respectively agree with each other. In Table 21 shown below, comparison will now be made between C⁰-C² continuity used by spline curves and G⁰-G² continuity used in clothoid curves according to the present invention. TABLE 21 C⁰: positions G⁰: positions C¹: the primary differential G¹: tangential directions coefficients C²: the secondary differential G₂: osculating planes (normal coefficients lines) and curvatures

In terms of consideration of the continuity of two three-dimensional clothoid curves, the interpolation conditions are made more stricter as the continuity degrees advance from C⁰ to C¹, and to C² and from G⁰ to G¹, and to G². Though the C¹ continuity requires that the size direction of the tangential lines agree with each other, it is sufficient that the G¹ continuity requires the agreement of only the tangential directions. For smoothly connecting the tangential lines between two three-dimensional clothoid curves, it is preferable to create the conditional expressions on the G¹ continuity. Creating conditional expressions based on the C¹ continuity, like the spline curves, results in too strict conditions, because the creation inevitably involves with a condition that the sizes of tangential lines should be made agree with each other, even though such a condition has no geometrical relationship. Creating the conditional expressions on the G¹ continuity is advantageous in that the amplitudes of primary differential coefficients are set to any values freely.

In the G² continuity, osculating planes (i.e., normal lines) are made to agree with each other. The osculating planes, as shown in FIG. 51, mean planes S1 and S2 in which a curve C is included locally. In FIG. 51, an example is shown where the osculating planes S1 and S2 are discontinuous at a point P, regardless of the continuity of the tangential directions kept at the point P. When consideration is given to the continuity of thee-dimensional curves, the matter which comes next to the agreement of tangential directions is an agreement of osculating planes. A discussion of curvatures should be based on an agreement of the osculating planes, and if not so, the discussion is meaningless. Making the osculating planes agree with each other should precede making the curvatures agree with each other. A condition satisfying the G² continuity is that the coordinates, tangential directions, osculating planes (normal lines), and curvatures are respectively made to agree with each other between two three-dimensional curves.

(2) Practical Computation Procedures:

There are provided two types of computation procedures.

(a) By setting the parameters h, α and β of a curve to produce a single three-dimensional clothoid curve, the parameters of the next three-dimensional curve are decided to meet Expression (28) at an end point of the produced curve. In this way, three-dimensional clothoid curves connectable in turn in a smooth manner can be produced. Using these computation procedures, the curve parameters can be computed easily, and a solution on this computation way is called a sequential solution. This computation way enables the production of a variety of shapes of curves in an easier manner, but it is impossible to explicitly specify the connecting points through which the curves pass.

(b) In order that a group of points specified in advance may compose the connecting points of curves, thee-dimensional clothoid curves can be connected to each other. In this section, there is provided an example in which a short clothoid curve (clothoid segment) is produced for every span in a row of points given discretely. In such a case, the computation procedures to decide the curve parameters so as to meet Expression (28) is more complicated than that described in the foregoing item (a), requiring a repeated convergence computation. This computation involves a series of inverse procedures that the curve parameters are decided from connecting conditions, so that a resultant solution is called an inverse solution.

Concerning the inverse solution in the above item (b), how to compute will now be detailed. A question to be solved is formulated as follows:

Unknown Parameters: Curve Parameters

Constraint Conditions: Expression (28) or Part Thereof

Depending on questions to be solved, the number of constraint conditions is changed and curve parameters of which number corresponds to the number of constraint conditions are set as unknown parameters. For example, in the case that the continuity of curvatures is not demanded, part of the curve parameters can be adjusted freely. Alternatively, when it is demanded those curvatures are kept continuous but tangential directions are specified, it is required that the number of three-dimensional clothoid curves to be used for the interpolation be increased by division so as to increase the number of corresponding unknown curve parameters.

In order to converge the above repeated convergence computation in a stabilized manner, the computation should be cogitated. To avoid the computation from diverging for speeding up the convergence, setting optimum initial values of the unknown values is effective. For doing so, it is effective to gain initial values for the repeated convergence computation by generating a simpler interpolation curve (for example, such a curve is a linear spline curve), which still meets constraint conditions concerning given connecting points and/or others, estimating the shape of the curve to obtain curve parameters of three-dimensional clothoid curves, and using such curve parameters as the initial values.

Alternatively, without requiring constraint conditions to be met at once, a technique by which conditional expressions are increased sequentially is still effective as the way for gaining a solution with stability. For example, the procedures for generating a curve are divided into the following three steps, which are executed in sequence. In the first step, interpolation is made such that pieces of positional information agree with each other and also tangential directions agree with each other. In the second step, interpolation is made to allow normal lines to agree with each other, and in the third step, interpolation is also made to allow curvatures to agree with each other. This technique is outlined as a flowchart in FIG. 52. The necessary three-dimensional clothoid curve equations and the definition equations for the tangential lines, normal lines, and curvatures thereof have already been explained.

(3) Embodiment of the Interpolation Method Using the Three-Dimensional Clothoid Curve:

(a) Flow of Interpolation Method:

One embodiment of the technique with which a three-dimensional clothoid curve is used to smoothly interpolate each interval between points which are part of a row of points will now be detailed. Hereinafter, the interpolation that uses a three-dimensional curve is referred to as a three-dimensional clothoid interpolation and a group of curves to be produced by the interpolation is referred, as a whole, to as a three-dimensional clothoid curve, which is composed by a plurality of unit curves each referred to as a three-dimensional clothoid segment.

The basic flow of the three-dimensional clothoid interpolation is such that the respective parameters of a three-dimensional clothoid segment connecting two points being interpolated are set to unknowns, and a curve is produced by obtaining a solution with the Newton-Rapson method, in which the solution meeting the conditions that points being interpolated are passed strictly and the G²continuity is kept. This way is outlined as a flowchart in FIG. 53. The G² continuity is that, with regard to two three-dimensional clothoid curves, the potions, tangential directions, normal directions, and curvatures at end points of the curves agree with each other parameter by parameter.

(b) Conditions of G²-Continuous Interpolation:

Practical conditions which allow points being interpolated to be passed strictly and the G² continuity is kept will now be described.

Now assume a simple case in which there are three points P₁={Px₁, Py₁, Pz₁}, P₂={Px₂, Py₂, Pz₂}, and P₃={Px₃, Py₃, Pz₃} and these points are interpolated by using three-dimensional clothoid segments. FIG. 54 shows the three-dimensional clothoid interpolation between among the points P₁, P₂ and P₃. When a curve connecting the points P₁ and P₂ is denoted as a curve C₁ and a curve connecting the points P₂ and P₃ is denoted as a curve C₂, the unknowns in this case are 14 pieces consisting of the parameters from the curve C₁, which are a0 ₁, a1 ₁, a2 ₁, b0 ₁, b1 ₁, b2 ₁, and h₁, and the parameters from the curve C₂, which are a0 ₂, a1 ₂, a2 ₂, b0 ₂, b1 ₂, b2 ₂, and h₂. The subscripts to each character, which will appear in the following description, correspond to the subscript to each curve.

Here, the conditions which allow points being interpolated to be passed strictly and the G² continuity is kept will now be considered. First of all, when the condition which allows points being interpolated to be passed strictly at a starting point is necessarily achieved at the time when the starting point is specified, so that the interpolation condition is not necessary in this situation, which is clear from the definition of the three-dimensional clothoid curve. At the connecting point P1, seven interpolation conditions consisting of three positional conditions, two tangential vector conditions, and two conditions (about the magnitude and direction) regarding to equations showing the curvature continuity are needed. Further, as to the end point, three positional conditions are necessary at the point P2. Thus, the conditional expressions total to 10. However, the number of unknowns is 14, compared to only the ten conditional expressions, so that the unknowns cannot be solved. In order to overcome this difficulty, the study according to the present invention was conducted on condition that tangential line vectors were given at both end points to increase the number of conditions at each end point by two so that the conditional expressions and the unknowns are equal in number to each other. In addition, deciding a tangential direction at the starting point enables a0 ₁ and b0 ₁ to be obtained from the equation defining the tangential direction. Considering this, a0 ₁ and b0 ₁ were not treated as unknowns. In the following, consideration will now be given to each condition.

First, the positional conditions will now be considered. In this case, three Expressions (1-1), (1-2) and (1-3) are established (hereinafter, “i” represents non-negative integers smaller than 3). $\begin{matrix} \left\lbrack {{Numeral}\quad 98} \right\rbrack & \quad \\ \begin{matrix} {\quad{{Px}_{i} + {h_{i}\quad{\int_{0}^{\quad 1}\quad{\cos\left( {{a\quad 0_{i}} + {{a1}_{i}\quad S} + {{a2}_{i}\quad S^{2}}} \right)}}}}\quad} \\ {{{{\cos\left( {{b\quad 0_{i}} + {b\quad 1_{i}\quad S} + {{b2}_{i}\quad S^{2}}} \right)}\quad{\mathbb{d}S}} - {Px}_{i + 1}} = 0} \end{matrix} & \left( {1\text{-}1} \right) \\ \begin{matrix} {\quad{{Py}_{i}\quad + \quad{h_{i}\quad{\int_{0}^{\quad 1}\quad{\cos\left( {{a0}_{i} + {{a1}_{i}\quad S}\quad + \quad{{a2}_{\quad i}\quad S^{2}}} \right)}}}}} \\ {{{{\sin\left( {{b\quad 0_{i}} + {b\quad 1_{i}\quad S} + {{b1}_{i}\quad S^{2}}} \right)}\quad{\mathbb{d}S}} - {Py}_{i + 1}} = 0} \end{matrix} & \left( {1\text{-}2} \right) \\ {\quad{{{Pz}_{i}\quad + \quad{h_{i}\quad{\int_{0}^{\quad 1}\quad{\left( {- {\sin\left( {{a0}_{i} + {{a1}_{i}\quad S}\quad + \quad{{a2}_{\quad i}\quad S^{2}}} \right)}} \right)\quad{\mathbb{d}S}}}} - {Pz}_{i + 1}} = 0}} & \left( {1\text{-}3} \right) \end{matrix}$

The, the conditions concerning the tangential directions will now be considered. In this case, two Expressions (1-4) and (1-5) are established.

[Numeral 99] cos(a0_(i) +a1_(i) +a2_(i) −a0_(i+1))=1   (1-4) cos(b0_(i) +b1_(i) +b2_(i) −b0_(i+1))=1   (1-5)

Concerning the curvature k, the following Expression (1-6) will now be established.

[Numeral 100] κ_(i)(1)−κ_(i+1)(0)=0   (1-6)

Finally, the normal direction vector n will now be considered. The normal vector n of a three-dimensional clothoid curve is expressed by Expression (21).

Like the decision of the tangential vector u of a three-dimensional clothoid curve, the rotation will now be used for considering the normal vector n. Assume that an initial tangential direction is (1, 0, 0) and an initial normal direction is expressed as (0, cos γ, −sin γ) in which γ is a constant. When this initial normal direction is rotated in the same way as that for tangential lines, the normal line n is expresses as shown in Expression (1-7). $\begin{matrix} \left\lbrack {{Numeral}\quad 101} \right\rbrack & \quad \\ \begin{matrix} {{n(S)} = \begin{matrix} \begin{bmatrix} {\cos\quad{\beta(S)}} & {{- \sin}\quad{\beta(S)}} & 0 \\ {\sin\quad{\beta(S)}} & {\cos\quad{\beta(S)}} & 0 \\ 0 & 0 & 1 \end{bmatrix} \\ {\begin{bmatrix} {\cos\quad{\alpha(S)}} & 0 & {\sin\quad{\alpha(S)}} \\ 0 & 1 & 0 \\ {{- \sin}\quad{\alpha(S)}} & 0 & {\cos\quad{\alpha(S)}} \end{bmatrix}\begin{Bmatrix} 0 \\ {\cos\quad\gamma} \\ {{- \sin}\quad\gamma} \end{Bmatrix}} \end{matrix}} \\ {= \begin{Bmatrix} {{{- \sin}\quad{{\gamma cos\beta}(S)}\sin\quad{\alpha(S)}} - {\cos\quad{\gamma sin}\quad{\beta(S)}}} \\ {{{- \sin}\quad{{\gamma sin\beta}(S)}\sin\quad{\alpha(S)}} + {\cos\quad{\gamma cos}\quad{\beta(S)}}} \\ {{- \sin}\quad{{\gamma cos\alpha}(S)}} \end{Bmatrix}} \end{matrix} & \left( {1\text{-}7} \right) \end{matrix}$

Making a comparison between Expressions (21) and (1-7) reveals that sin γ and cos γ correspond to Expression (1-8). $\begin{matrix} \left\lbrack {{Numeral}\quad 102} \right\rbrack & \quad \\ {{{\sin\quad\gamma} = \frac{\alpha^{\prime}(S)}{\sqrt{{\alpha^{\prime}(S)}^{2} + {{\beta^{\prime}(S)}^{2}\cos^{2}{\alpha(S)}}}}}{{\cos\quad\gamma} = \frac{{\beta^{\prime}(S)}\cos\quad{\alpha(S)}}{\sqrt{{\alpha^{\prime}(S)}^{2} + {{\beta^{\prime}(S)}^{2}\cos^{2}{\alpha(S)}}}}}} & {\text{(}1\text{-}8\text{)}} \end{matrix}$

That is, it is found from Expression (1-8) that the continuity of tan γ is enough for accomplishing the continuity of the normal lines at a connecting point involving in the three-dimensional clothoid interpolation. $\begin{matrix} \left\lbrack {{Numeral}\quad 103} \right\rbrack & \quad \\ {{\tan\quad\gamma} = \frac{\alpha^{\prime}(S)}{{\beta^{\prime}(S)}\cos\quad{\alpha(S)}}} & {\text{(}1\text{-}9\text{)}} \end{matrix}$

In short, it is understood that the condition for holding the normal lines continuous is expressed by Expression (1-10). $\begin{matrix} \left\lbrack {{Numeral}\quad 104} \right\rbrack & \quad \\ {{\tan\quad\gamma} = \frac{\alpha^{\prime}(S)}{{\beta^{\prime}(S)}\cos\quad{\alpha(S)}}} & {\text{(}1\text{-}9\text{)}} \end{matrix}$

Further, when taking the equation of

[Numeral 105] cos [α_(i)(1)−α_(i+1)(0)]=1   (1-11) into account, the conditional Expression (1-10) can be replaced by the following conditional Expression (1-12). Specifically, the condition for the continuous normal lines is expressed by Expression (1-12). [Numeral 106] α′_(i)(1)β′_(i+1)(0)=α′_(i+1)(0)β′_(i)(1)   (1-12)

In summary, it is found that the conditions for keeping not only a strict passage through points being interpolated but also the G² continuity at each connecting point are expressed by Expression (1-13). Also, as for the starting and end points, it is still enough to select some of the conditions listed in Expression (1-13).

[Numeral 107] Px _(i)(1)=Px _(i+1)(0) Py _(i)(1)=Py _(i+1)(0) Pz _(i)(1)=Pz _(i+1)(0) cos [α_(i)(1)−α_(i+1)(0)]=1 cos [β_(i)(1)−β_(i+1)(0)]=1 α′_(i)(1)β′_(i+1)(0)=α′_(i+1)(0)β′_(i)(1) κ_(i)(1)=κ_(i+1)(0)

As described, it is revealed that concerning the conditional expressions for the twelve unknowns a1 ₁, a2 ₁, b1 ₁, b2 ₁, h₁, a0 ₂, a1 ₂, a2 ₂, b0 ₂, b1 ₂, b2 ₂, and h₂, twelve conditional expressions are established as follows (, in which α₃ and β₃ represent rotation angles in the tangential direction at the point P₃).

[Numeral 108] Px ₁(1)=Px ₂(0) Py ₁(1)=Py ₂(0) Pz ₁(1)=Pz ₂(0) cos [α₁(1)−α₂(0)]=1 cos [β₁(1)−β₂(0)]=1 α′₁(1)β′₂(0)=α′₂(0)β′₁(1) κ₁(1)=κ₂(0) Px ₂(1)=Px ₃(0) Py ₂(1)=Py ₃(0) Pz ₂(1)=Pz ₃(0) cos [α₂(1)−α₃]=1 cos [β₂(1)−β₃]=1   (1-14)

Since the twelve equations can be given for the twelve unknowns, a solution can be obtained. Practically, the Newton-Rapson method is used to solve such equations to have a solution.

Additionally, for the general case in which a row of n-piece points is subjected to the interpolation, it is sufficient that the non-negative integer i described above is expanded to values fulfilling i<n. The remaining matter concerns the number of unknowns and the number of conditional expressions.

For example, suppose that there is a row of “n−1”-piece points and N-piece unknowns and N-piece relational expressions are established. In this situation, when one point is added to the point row, the parameters is thus subjected to an increase thereof such that the seven clothoid parameters a0 _(n), a1 _(n), a2 _(n), b0 _(n), b1 _(n), b2 _(n), and h_(n) of the three-dimensional clothoid segments P_(n−1) and P_(n) are added. On the other hand, the conditional expressions are subjected to an increase of a total of seven equations consisting of three equations for positions at the point P_(n−1), two equations for a tangential vector, and two equations (about the magnitude and direction) representing a condition for keeping the curvatures continuous with respect to the point P_(n−1), because the connecting points increase by one.

In the case of n=3, it is known that the unknowns and the relational expressions are 12 in number respectively, so that for n≧3, the number of unknowns is 7 (n−2)+5 and the number of equations to be established is also 7(n−2)+5. In this way, the unknowns and the conditions relating to the unknowns are the same in number. Thus, in the case of a row of n-piece free points, the similar method to that applied to three points can be used to calculate a solution. The Newton-Rapson method that utilizes the fact that the relationships on Expressions (1-15) and (1-16) are established between the unknowns and the conditional expressions was used as a solving method for a solution. (The conditions are denoted by F, the unknowns by u, and an error Jacobian matrix by J.)

[Numeral 109] ΔF=[J]Δu   (1-15) Δu=[J]⁻¹ΔF   (1-16)

Accordingly it is understood that a row of n-piece points can be subjected to the three-dimensional clothoid interpolation in such a manner that points being interpolated are passed strictly and the G² continuity is kept.

(c) Decision of Initial Values:

The Newton-Rapson method needs to have adequate initial values to start the search for a solution. Although the initial values may be given based on any method, how to give the initial values will now be exemplified in the following.

3D Discrete Clothoid Splines, which precede the present study, have a characteristic that the splines strictly pass points being interpolated and the curvatures change smoothly along the distance moved from a start point. In the present specification, the initial values for the three-dimensional clothoid interpolation are decided through computation with the use of a polygon Q made on 3D Discrete Clothoid Splines of r=4, as shown in FIG. 55.

The 3D Discrete Clothoid Splines will now be complemented as follows. As shown in FIG. 56, a polygon P of which apexes are a row of points being interpolated is first made, and new apexes are insertedly placed, the same number of pieces, between the apexes of the polygon Q so that a polygon Q meeting P⊂Q is made. Here suppose that the number of apexes of the polygon P is n-pieces. This supposition results in that the polygon Q has apexes whose number is “rn” pieces if the polygon is closed, but “r(n−1)+1” pieces if the polygon is open. Hereinafter, each apex is denoted by qi, in which the subscript is a serial number starting from the starting point. A vector k is decided at each apex, where the vector has, as a direction, a binormal vector b and has, as a magnitude, a curvature κ.

In cases where Expression (1-17), which is listed later, requiring the apexes be equidistant therebetween is met and a condition is established which is the nearest to a specific condition where the curvature is proportional to the distance moved from the starting point (i.e., the function shown in Expression (1-18) listed later is minimized), a certain polygon Q is made, which is called 3D Discrete Clothoid Splines. $\begin{matrix} \left\lbrack {{Numeral}\quad 110} \right\rbrack & \quad \\ {{{{q_{i - 1}q_{i}}} = {{q_{i + 1}q_{i}}}},\left( {q_{i} \notin P} \right)} & {\text{(}1\text{-}17\text{)}} \\ {{\sum\limits_{i = 1}^{r - 1}{{\Delta^{2}k_{{ir} + 1}}}^{2}},{i = \left\{ {{0\quad\ldots\quad n} - 1} \right\}},{{\Delta^{2}k_{i}} = {k_{i - 1} - {2\quad k_{i}} + k_{i + 1}}}} & {\text{(}1\text{-}18\text{)}} \end{matrix}$

In the case of the 3D Discrete Clothoid Splines, the frenet frame of each apex is already obtained, so that the parameters a₀ and b₀ are computed based on the unit tangential vector t thereof. This tangential vector t has already been known at the time of obtaining the polygon Q, and both the vector t and the expressions of the tangential lines to the three-dimensional clothoid curve are used to obtain the tangential rotation angles α and β at the respective apexes of the polygon Q. Thus the initial values to be given to the parameters a₀ and b₀ of each curve are decided. In a three-dimensional clothoid segment starting from the stating point, the values thereof is given as the initial values. $\begin{matrix} \left\lbrack {{Numeral}\quad 111} \right\rbrack & \quad \\ {u = \begin{Bmatrix} {\cos\quad\beta\quad\cos\quad\alpha} \\ {\sin\quad\beta\quad\cos\quad\alpha} \\ {{- \sin}\quad\alpha} \end{Bmatrix}} & {\text{(}1\text{-}19\text{)}} \end{matrix}$

In addition, when taking it into consideration the fact that 3D Discrete Clothoid Splines allows its apexes to be aligned at equal distances, the point q_(4i+1) in FIG. 55 can be approximately estimated as having a curve length variable S of ¼. In the similar way to this, the point q_(4(i+1)−1) can be approximately estimated as having a curve length variable S of ¾. In consideration of these values together with the expression of α of a three-dimensional clothoid curve, the following Expression (1-20) is established. $\begin{matrix} \left\lbrack {{Numeral}\quad 112} \right\rbrack & \quad \\ \left\{ \begin{matrix} {{{a\quad 0_{4i}} + {\frac{1}{4}a\quad 1_{4i}} + {\left( \frac{1}{4} \right)^{2}a\quad 2_{4\quad i}}} = {a\quad 0_{{4i} + 1}}} \\ {{{a\quad 0_{4i}} + {\frac{3}{4}a\quad 1_{4i}} + {\left( \frac{3}{4} \right)^{2}a\quad 2_{4i}}} = {a\quad 0_{{4{({i + 1})}} - 1}}} \end{matrix} \right. & {\text{(}1\text{-}20\text{)}} \end{matrix}$

Since this expression is a two-dimensional simultaneous equation to which unknowns are a1 _(4i) and a2 _(4i), this equation is solved to obtain the initial values of the parameters a₁ and a₂. Similarly to this, the initial values of the parameters b₁ and b₂ can be decided.

The remaining unknown to be handled in this section is the curve length h, of which initial value is computed using the expression of the curvature of the three-dimensional clothoid curve. The curvature of a three-dimensional curve is expressed by Expression (1-21). $\begin{matrix} \left\lbrack {{Numeral}\quad 113} \right\rbrack & \quad \\ {\kappa = \frac{\sqrt{\alpha^{\prime 2} + {\beta^{\prime\quad 2}\cos^{2}\alpha}}}{h}} & {\text{(}1\text{-}21\text{)}} \end{matrix}$

This expression is deformed into Expression (1-22), which gives a decided initial value. $\begin{matrix} \left\lbrack {{Numeral}\quad 114} \right\rbrack & \quad \\ {h_{4\quad i} = \frac{\sqrt{\begin{matrix} {\left( {{a\quad 1_{4\quad i}} + {2\quad a\quad 2_{4i}}} \right)^{2} + \left( {{b\quad 1_{4\quad i}} + {2\quad b\quad 2_{4\quad i}}} \right)^{2}} \\ {\cos^{2}\left( {{a\quad 0_{4\quad i}} + {a\quad 1_{4\quad i}} + {a\quad 2_{4\quad i}}} \right)} \end{matrix}}}{\kappa_{4{({i + 1})}}}} & {\text{(}1\text{-}22\text{)}} \end{matrix}$

As described above, the initial values of the seven three-dimensional clothoid parameters can be decided. Using these decided initial values under the condition that the G² continuity described in the item (b) is still held, respective approximate values of the parameters of each curve were obtained by the Newton-Rapson method. The resultant parameters are used to produce three-dimensional clothoid segments, and each interval between any two points was subjected to interpolation on the three-dimensional clothoid curves.

(d) Example of Interpolation:

An example of the interpolation will now be described, in which the foregoing technique was actually applied to the three-dimensional clothoid interpolation directed to four points of (0.0, 0.0, 0.0), (2.0, 2.0, 2.0), (4.0, 0.0, 1.0), and (5.0, 0.0, 2.0). A perspective view of the three-dimensional clothoid curve produced by the interpolation is illustrated in FIG. 57. FIG. 57 shows a solid line curve representing the three-dimensional clothoid curve and linear lines depicted by broken lines, dashed lines and chain double-dashed lines representing patterns of changes in the curvature radius in which, at each point on the curve, an amplitude is shown in the logarithm (curvature radius+logarithm natural e) and a direction is shown in the normal vector.

Furthermore, Table 22 represents the parameters of each curve, while Table 23 lists shifts of the coordinate, tangential line, normal line and curvature at each connecting point. These tables reveal that a three-dimensional clothoid curve which meets the requirement for the G2 continuity at each connecting point was produced. FIG. 58 is a graph showing changes in the curvature, in which the axis of abscissas represents the distance moved from the starting point and the axis of ordinate represents the curvature. TABLE 22 Parameters of each three-dimensional clothoid segment Curve 1 (curvature radius change pattern: broken lines) α = −0.657549 − 1.05303S + 1.84584S² β = 1.03297 + 1.29172S − 2.55118S² h = 3.82679 P₀ = (0.0, 0.0, 0.0) Curve 2 (curvature radius change pattern: dashed lines) α = 0.135559 + 2.18537S − 2.69871S² β = −0.226655 − 3.15603S + 3.03298S² h = 3.16932 P₀ = (2.0, 2.0, 2.0) Curve 3 (curvature radius change pattern: chain double-dashed lines) α = −0.377569 − 1.45922S + 0.984945S² β = −0.349942 + 1.32198S − 0.873267S² h = 1.43987 P₀ = (4.0, 0.0, 1.0)

TABLE 23 Shifts of coordinate, tangential line, normal line and curvature at each connecting point Connecting point at which curves 1 and 2 are mutually connected Coord: (1.16 × 10⁻⁵, 2.00 × 10⁻⁶, 3.82 × 10⁻⁶) Tvector: (7.59 × 10⁻⁵, 1.50 × 10⁻⁵, 2.95 × 10⁻⁴) Nvector: (2.93 × 10⁻⁴, 9.19 × 10⁻⁵, −7.57 × 10⁻⁶) Curvature: 3.06 × 10⁻⁷ Connecting point at which curves 2 and 3 are mutually connected Coord: (−4.33 × 10⁻⁶, −1.64 × 10⁻⁶, 1.11 × 10⁻⁵) Tvector: (2.06 × 10⁻⁶, 2.33 × 10⁻⁴, 1.97 × 10⁻⁴) Nvector: (3.30 × 10⁻⁴, 1.19 × 10⁻⁵, −3.23 × 10⁻⁵) Curvature: 5.96 × 10⁻⁶

(4) G2-Continuous Three-Dimensional Clothoid Interpolation in Consideration of Control of Value at Each of Both Ends:

(a) Interpolation Conditions and Unknowns:

As stated in section (3), if a curve is open and there are n-piece points being interpolated, the row of points can be interpolated three-dimensionally with the help of n−1 piece curves. If it is requested that the curves pass each point in a strict manner, the unknowns of each three-dimensional clothoid segment are seven in number, which are a₀, a₁, a₂, b₀, b₁, b₂, and h. Accordingly, as a whole, the number of unknowns is 7(n−1) pieces. Meanwhile, the number of conditional expressions total to 7 (n−2)+3 pieces, because there are seven unknowns concerning the coordinates, tangential line, normal line and curvatures at every “n−2”-piece connecting points, and there are three coordinates at the end point. In the technique in section (3), tangential vectors at each of the starting and end points were added to the conditional expressions so that the conditions increase by four, whereby the conditional expressions and the unknowns were made to be mutually equal in number.

In cases the tangential line, normal line and curvatures are controlled at each of the starting and end points and the interpolation is conducted with the G² continuity still held, the conditions increase by 2 pieces, which are with respect to the normal line and curvatures at each of the starting and end points, that is, an increase of a total of 4 pieces, compared to the case where the control of tangential lines is made at both ends. In short, the number of conditional expressions totals to 7n−3 pieces. In this case, the unknowns are smaller in number than the conditions, the Newton-Rapson method is unavailable for a solution. Hence any technique has to be used to increase the number of unknowns.

In the present case, the above difficulty was overcome by newly inserting points being interpolated so that the unknowns and the conditional expressions became equal in number to each other. For instance, the number of unknowns is larger than the conditional expressions by 4, two new points are inserted and two of the coordinates at the perspective points are handled as unknowns.

In this case, since the connecting points increase by 2, the conditions increase by a total of 14-piece ones, which consist of 7-piece conditions (coordinates, tangential line, normal line and curvatures) for each connecting point. On the other hand, the unknowns increase by 2 which is for each three-dimensional clothoid segment, the unknowns increase as a whole by 14 pieces, which is composed of 7 pieces of a₀, a₁, a₂, b₀, b₁, b₂, and h for each segment. In this case, the number of points included in the row of points is n+2 pieces, the whole unknowns are 7(n+1 pieces and the whole conditional expressions are 7(n+1)+4 pieces. Further, when it is supposed that two of the coordinates of the newly inserted points are treated as unknowns, the number of unknowns results in an increase of 4. As a result, the unknowns and the conditional expressions are both 7 (n+2)−3 in number, whereby a solution of the unknowns can be obtained. In this way, inserting new points makes it possible to perform the interpolation with the respective points passed strictly, the G² continuity held, and the tangential lines, normal lines, and curvatures at both end points controlled.

Furthermore, a generalized case will be discussed. In the case of interpolating a row of n-piece points in a state where m-piece items are controlled at both end points, consideration is given to the number of points to be inserted and to the number of coordinates to be treated as the unknowns at each inserted point. As state previously, as long as a curve is open, a row of points can be interpolated with the help of “n−1”-piece curves. If the respective points are subjected to a strict passage, each three-dimensional clothoid segment has the seven unknowns of a₀, a₁, a₂, b₀, b₁, b₂, and h, so that the unknowns total to 7(n−1) pieces. In contrast, the conditional expressions are as a whole 7(n−2)+3 pieces, because, every “n−2”-piece connecting points, there exist seven expressions on the coordinates, tangential line, normal line, and curvatures and three coordinates at an end point. Thus, the conditional expressions are less in number than the unknowns by 4. That is, this means that items to be controlled at both end points are 4 or more. In the following description, assumption is made such that m is a nonnegative integer of 4 or more and k is a nonnegative integer of 2 or more, under which how to make both the conditional expressions and the unknowns equal in number to each other in response to inserting new points will now be described.

(i) In the Case of m=2k:

In cases where it is required that a total of “m=2k”-piece items be controlled at both end points, the number of unknowns is 7(n−1) pieces in total and the number of conditional expressions is 7(n−1)−4+2k pieces in total. In this situation, the number of excessive conditional expressions is 2k−4 pieces. When it is considered that “k−2”-piece points are newly inserted, the number of three-dimensional clothoid segments increases by k−2 pieces, while the connecting points increase by k−2 pieces as well. As a result, the unknowns total up to 7 (n+k−3) pieces and the conditional expressions total up to 7(n+k−3)−4+2k pieces. In the case that, of the values at the coordinates of each of the newly inserted points, two values (for example, x and y) are treated as being unknowns, the unknowns total up to 7 (n+k−3)+2 (k−2) pieces and the conditional expressions total up to 7(n+k−3)+2(k−2) pieces, permitting both the unknowns and the conditional expressions to be equal in number to each other.

(ii) In the Case of m=2k+1:

In cases where it is required that a total of “m=2k+1”-piece items be controlled at both end points, the number of unknowns is 7(n−1) pieces in total and the number of conditional expressions is 7(n−1)+2k−3 pieces in total. In this situation, the number of excessive conditional expressions is 2k−3 pieces. When it is considered that “k−1”-piece points are newly inserted, the number of three-dimensional clothoid segments increases by k−1 pieces, while the connecting points increase by k−1 pieces as well. As a result, the unknowns total up to 7(n+k−2) pieces and the conditional expressions total up to 7(n+k−2)−3+2k pieces. In the case that, of the values at the coordinates of each of the newly inserted points, two values (for example, x and y) are treated as being unknowns, the unknowns total up to 7 (n+k−2)+2 (k−2) pieces and the conditional expressions total up to 7(n+k−2)+2k−3 pieces, resulting in that the conditional expressions are larger than the unknowns by one. Thus, for the case of m=2k+1, at one of the inserted points, only one of the values of the coordinate at the one point is treated as being an unknown. This countermeasure allows the unknowns to be 7 (n+k−2)+2 (k−2) pieces in total and the conditional expressions to also be 7(n+k−2)+2(k−2) pieces in total, whereby the unknowns and the conditional expressions are equal in number to each other.

As stated above, in the present method, in accordance with the number of conditional expressions to be added, the number of values chosen as unknowns from the coordinates of inserted points can be adjusted. This makes it possible that, in various occasions in which parameters, such as a tangential rotation angle α, which are other than the tangential line, normal line and curvatures, are controlled, the unknowns can be equalized in number to the conditional expressions. In consequence, from a theoretical viewpoint, each value at both end points can be controlled. Table 24 is provided to show, as a summary, correspondences among the items to be controlled, the number of unknowns and the number of conditional expressions. TABLE 24 Items to be controlled at both end points, the number of unknowns, and the number of conditional expressions in n-point interpolation the the number the the number of number of conditional number coordinates of items expressions of points being handled the number of to be to be to be as unknowns unknowns to be controlled increased inserted per point increased 4 0 0 0 0 5 1 1 1 1 6 2 1 2 2 7 3 2 1-piece point: 2 3 1-piece point: 1 . . . 2k 2k − 4 k − 2 “k − 2”-piece 2k − 4 points: 2 2k + 1 2k − 3 k − 1 “k − 2”-piece 2k − 3 points: 2 1-piece point: 1 *k: nonnegative integer of 2 or more

(b) Technique:

As shown in FIGS. 59 and 60, the interpolation that uses a three-dimensional clothoid controlling each value at the starting and end points is carried out on the following operation flow.

Step 1) Of the conditions to be controlled, only 4 conditions are used to perform interpolation in which points being interpolated are subjected to a strict passage and the G² continuity is kept, with a curve produced on the interpolated results.

Step 2) New points are inserted into the produced curve, before the conditional expressions and the unknowns are subjected to adjustment in terms of the number thereof.

Step 3) The curve parameters in Step 1 are used as initial values for obtaining approximate values of parameters of each curve by the Newton-Rapson method, the approximate values meeting the conditions to be targeted.

Each Step will now be complemented as follows. First, at Step 1, a curve is produced by using the technique described in section (3), if the tangential direction is required to be controlled. Even if the tangential direction is not required to be controlled, initial values, which are the same as ones produced by the technique described in section (3), are used as initial values required for obtaining the parameters of the curve.

Then at Step 2, new points are inserted into the curve for adjustment conditions and unknowns in terms of their numbers. During this step, the number of points to be newly inserted in an interval between points being interpolated is required to be one or less, whenever possible. Further, the point to be inserted is at a central position of each three-dimensional clothoid segment produced at Step 1 and inserted to connect points being interpolated. Still further, the insertion of the points to be inserted is carried out in sequence from both ends of the curve. In other words, the first inserted points are a central point between the starting point and the adjacent point located next thereto and a further central point between the end point and the adjacent point located next thereto.

Lastly, the description will now be given to Step 3, wherein it is required to decide initial values for the Newton-Rapson method employed in this step. For this purpose, the curve into which the new points have been inserted is divided using the technique, described in section 1-4, for dividing the three-dimensional clothoid curve, and the initial values are decided based on respective values of the divided curves. If the curve will not be subjected to the insertion of any points, the as-produced initial values of the curve, produced in Step 1, are used. In this way, the initial values given to the respective parameters of the curve in Step 3 have been decided. Using these initial values, the computation on the Newton-Rapson method is conducted to provide parameters, and these parameters are used to produce a three-dimensional clothoid curve. That is, the interpolation has been made by the three-dimensional clothoid curve that fulfills the targeted conditions in each interval between points.

(c) Example of Interpolation:

An actual example of the three-dimensional clothoid interpolation will now be given by Table 25, in which conditions are listed as to tangential lines, normal lines, and curvatures at both ends so that control should be conducted to meet those conditions. The sequential numbers are given to the points being interpolated which are to be subject to a strict passage of the line, so that the points P₁, P₂ and P₃ are denoted. TABLE 25 Conditions for respective points being interpolated and starting and end points principal coordinate unit tangential vector normal vector curvature P₁ (0, 0, 0) (Cos(θ), Sin(θ), 0) (−Sin(θ), Cos(θ), 0) 0.2 P₂ (4, −4, −4) — — — P₃ (8, −4, −5) (1, 0, 0) (0, −1, 0) 0.2 * θ = −(π/6)

Under the conditions listed above, the interpolation was conducted actually, which resulted in the figure shown in FIG. 61. A solid-line curve represents a three-dimensional clothoid curve, while curves depicted by broken lines, dashed lines, chain double-dashed lines, and chain triple-dashed lines represent patterns of changes in the curvature radius of each curve. FIG. 62 shows a graph representing the relationship between the distance moved from the starting point of each curve and its curvature, the graph being shown depending on the types of lines shown in FIG. 61. As understood from Table 26, the produced curves meet the given conditions. TABLE 26 Differences between given values and produced values as to tangential lines, normal lines, and curvatures at starting and end points of each produced curve unit tangential principal normal coordinate vector vector curvature P₁ given {0.0, 0.0, 0.0} {0.8660, −0.5, 0.0} {0.5, 0.8660, 0.0} 0.20 value value on {0.0, 0.0, 0.0} {0.8660, −0.5, 0.0} {0.5000, 0.8660, 0.0} 0.20 produced curve difference {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} 0 P₃ given {8.0, −4.0, −5.0} {1.0, 0.0, 0.0} {0.0, −1.0, 0.0} 0.20 value value on {8.0, −4.0, −5.0} {1.0, 0.0, 0.0} {0.0, −1.0, 0.0} 0.20 produced curve difference {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} 0

(d) Control of Value at Central Point:

The technique described in item (d) has enabled both the control of each value at both end points and the G²-continuous interpolation. In the next place, the control of values at each central point, not both end points, will now be described.

For example, for interpolating a row of points shown in FIG. 63, an assumption is made such that both a tangential line and a normal line are controlled at a central point P_(c). It should be noted that the technique described so far will not be available to the control of values at central points. A solution to this difficulty is to divide the row of points into two ones so that the control can be effective.

Specifically, the interpolation should be done on individual divided curves C₁ and C₂ with a central point P_(c) therebetween, without interpolating the whole row of points at once. In such a case, the central point P_(c) is to be located at an end of each divided curve, with the result that the technique described in item (b) can be used for the control.

Therefore, as described above, a curve division is done at a point that represents values to be controlled, the control for interpolation is applied to values at both ends of the divided curve, and the resultant curves are connected to each other. This way theoretically enables the three-dimensional clothoid interpolation which controls the tangential line, normal line, and curvature at each point.

(5) Three-Dimensional Clothoid Interpolation Controlling Tangential Line, Normal Line, and Curvature at Both Ends:

(a) Flow of Technique:

An interpolation technique using the three-dimensional clothoid to control each value at staring and end points is performed by a procedure flow shown in FIG. 64, which is as follows. In the following, the description will be given along such a flow.

(b-1) Giving Points Being Interpolated:

In an example in this section, three points {0.0, 0.0, 0.0}, {5.0, 5.0, 10.0}, {10.0, 10.0, 5.0} were designed in the three-dimensional space. The other conditions, such as tangential liens, normal lines, and curvatures given to each point, are summarized in Table 27. TABLE 27 Points being interpolated and conditions for parameters at starting and end points: unit tangential principal normal coordinate vector vector curvature P₁ (0.0, 0.0, 0.0) {0.0, 1.0, 0.0} {1.0, 0.0, 0.0} 0.1 P₂ (5.0, 5.0, 10.0) — — — P₃ (10.0, 10.0, 5.0) {1.0, 0.0, 0.0} {0.0, −1.0, 0.0} 0.1

(b-2) Production of 3D DCS of r=4:

The Newton-Rapson method needs to have adequate initial values to start the search for a solution. The preparation for obtaining the initial values will now be performed. 3D Discrete Clothoid Splines, which is a preceding study to the present study according to the present application, is characterized in that points being interpolated is subjected to a strict passage and the curvature smoothly changes with changes in the distance moved from a starting point. Hence, in the present study, a polygon Q on 3D Discrete Clothoid Splines of r=4 is produced as shown in FIG. 65, and this polygon is used to compute and decide initial values for the three-dimensional clothoid interpolation. This polygon was actually produced from a row of points, which is shown in FIG. 66. The coordinates of the apexes of the produced polygon are listed in Table 28. TABLE 28 Coordinates of apexes of produced polygon coordinates of apexes P₁ {0.0, 0.0, 0.0} {0.4677, 0.4677, 3.1228} {0.9354, 0.9354, 6.2456} {2.3029, 2.3029, 9.4966} P₂ {5.0, 5.0, 10.0} {6.7095, 6.7095, 9.9244} {8.0655, 8.0655, 8.4732} {9.0327, 9.0327, 6.7366} P₃ {10.0, 10.0, 5.0}

(b-3) Decision of Initial Values:

Obtaining a solution on the Newton-Rapson method involves decision of initial values of respective unknowns. According to the present technique, the polygon Q produced in section b-2 is used to obtain approximate values of the respective unknowns, and those approximate values are subjected to the decision of the initial values. In the case of handling 3D Discrete Clothoid Splines, the frenet frame of each apex has already been acquired. Parameters a₀ and b₀ are thus obtained from the unit tangential vector t of the polygon Q produced in section b-2. This tangential vector t has already been known since the polygon Q was obtained, so that both this vector t and the expression for a tangential line of a three-dimensional clothoid curve are used to compute tangential rotation angles α and β. These angles allow the initial values of the parameters a₀ and b₀ of each curve to be decided. In addition, for a three-dimensional clothoid segment starting from a starting point, those angles provide initial values of the parameters. $\begin{matrix} {u = \begin{Bmatrix} {\cos\quad\beta\quad\cos\quad\alpha} \\ {\sin\quad\beta\quad\cos\quad\alpha} \\ {{- \sin}\quad\alpha} \end{Bmatrix}} & \left\lbrack {{Numeral}\quad 115} \right\rbrack \end{matrix}$

When it is taken into account that 3D Discrete Clothoid Splines provide apexes poisoning at equal distances, it can be approximated that the curve length variable S at a point q_(4i+1) in FIG. 65 is ¼. Similarly to this, it can be approximated that the curve length variable S at a point q_(4(i+1)−1) is ¾. In consideration of both the approximated variables and the expression concerning α of the three-dimensional clothoid curve, the following expression is realized. $\begin{matrix} \left\{ \begin{matrix} {{{a\quad 0_{4i}} + {\frac{1}{4}a\quad 1_{4i}} + {\left( \frac{1}{4} \right)^{2}a\quad 2_{4\quad i}}} = {a\quad 0_{{4i} + 1}}} \\ {{{a\quad 0_{4i}} + {\frac{3}{4}a\quad 1_{4i}} + {\left( \frac{3}{4} \right)^{2}a\quad 2_{4i}}} = {a\quad 0_{{4{({i + 1})}} - 1}}} \end{matrix} \right. & \left\lbrack {{Numeral}\quad 116} \right\rbrack \end{matrix}$

Since this expression is a two-dimensional simultaneous equation to which unknowns are a1 _(4i) and a2 _(4i), this equation is solved to obtain the initial values of the parameters a₁ and a₂. Similarly to this, the initial values of the parameters b₁ and b₂ can be decided.

The remaining unknown is a curve length h, of which initial value is calculated by solving the expression defining the curvature of the three-dimensional clothoid curve. The curvature of the three-dimensional clothoid curve can be expressed by the following. $\begin{matrix} {\kappa = \frac{\sqrt{\alpha^{\prime 2} + {\beta^{\prime 2}\cos^{2}\alpha}}}{h}} & \left\lbrack {{Numeral}\quad 117} \right\rbrack \end{matrix}$

This expression can be developed into the following, on which the initial value of h is decided. $\begin{matrix} {h_{4\quad i} = \frac{\sqrt{\begin{matrix} {\left( {{a\quad 1_{4\quad i}} + {2\quad a\quad 2_{4\quad i}}} \right)^{2} +} \\ {\left( {{b\quad 1_{4\quad i}} + {2\quad b\quad 2_{4\quad i}}} \right)^{2}{\cos^{2}\left( {{a\quad 0_{4\quad i}} + {a\quad 1_{4\quad i}} + {a\quad 2_{4\quad i}}} \right)}} \end{matrix}}}{\kappa_{4{({i + 1})}}}} & \left\lbrack {{Numeral}\quad 118} \right\rbrack \end{matrix}$

As described, the initial values of the seven three-dimensional clothoid parameters can be decided.

The initial values actually obtained on the foregoing technique are listed in Table 29. TABLE 29 Initial values curve a₀ 0.0 (known) connecting a₁ −0.2684 points P₁ and a₂ 1.0739 P₂ b₀ π/2 (known) b₁ 0.0 b₂ 0.0 h 12.7684 curve a₀ −0.1648 connecting a₁ 3.2061 points P₂ and a₂ −2.6327 P₃ b₀ 0.7853 b₁ 0.0 b₂ 0.0 h 9.6752

(b-4) Three-Dimensional Interpolation with Strict Passage Through Respective Points and G² Continuity:

The initial values decided in section (b-3) are used to obtain approximate values of parameters of each curve by using the Newton-Rapson method, under the condition that the G² continuity is kept. Using the resultant parameters, three-dimensional clothoid segments are produced, and then each span between points in a row of points is interpolated with the three-dimensional clothoid curve.

In this three-dimensional interpolation for three points, practical conditions satisfying a strict passage through points being interpolated and the G²continuity will now be described. FIG. 67 shows the three-dimensional clothoid interpolation for points P₁, P₂ and P₃. A curve connecting the points P₁ and P₂ is denoted by a curve C₁ and a curve connecting points P₂ and P₃ is denoted by a curve C₂. Since a0 ₁ and b0 ₁ are already known, the unknowns totals up to 12 pieces consisting of parameters a1 ₁, a2 ₁, b1 ₁, b2 ₁ and h₁ of the curve C₁ and parameters a0 ₂, a1 ₂, a2 ₂, b0 ₂, b1 ₂, b2 ₂ and h₂ of the curve C₂. The subscripts to characters, which will appear hereinafter, are assigned to correspond to the subscripts to respective curves, in which the coordinates, tangential rotation angles α and β, normal line and curvature of each curve are expressed respectively by Px_(i), Py_(i), Pz_(i), α_(i), β_(i), n_(i) and κ_(i), which are functions of the curve length variable S.

First of all, from the definition of the three-dimensional clothoid curve, the condition that the strict passage through points being interpolated should be kept at the point P₁ is inevitably achieved whenever the starting point is given. A tangential direction at the point P₁ is also given as a known value, so that no particular specification for the continuity is needed at the point P₁.

The next to be considered is the point P₂. This point P₂ is a connecting point to connect the curves with each other, so that the G² continuity requires that the position, tangential line, normal line, and curvature should be continuous thereat. That is, the conditions which should be realized at the point P₂ are as follows.

[Numeral 119] Px ₁(1)=Px ₂(0) Py ₁(1)=Py ₂(0) Pz ₁(1)=Pz ₂(0) cos [α₁(1)−α₂(0)]=1 cos [β₁(1)−β₂(0)]=1 n ₁(1)·n ₂(0)=1 κ₁(1)=κ₂(0)

Lastly, the consideration is given to the point P₃. This point P₃ is an end point. This means that the necessary conditions to be met are abut only the position and tangential line, so that the following five conditions are realized, in which α₃ and β₃ are tangential rotation angles α and β to decide a tangential vector at the end point to be given.

[Numeral 120] Px ₂(1)=Px ₃ Py ₂(1)=Py ₃ Pz ₂(1)=Pz ₃ cos [α₂(1)−α₃]=1 cos [β₂(1)−β₃]=1

Hence, it can be understood that, as for the twelve unknowns a1 ₁, a2 ₁, b1 ₁, b2 ₁, h₁, a0 ₂, a1 ₂, a2 ₂, b0 ₂, b1 ₂, b2 ₂ and h₂, the twelve conditional expressions are provided as follows. These expressions can thus be summarized in a list form in the following.

[Numeral 121] Px ₁(1)=Px ₂(0) Py ₁(1)=Py ₂(0) Pz ₁(1)=Pz ₂(0) cos [α₁(1)−α₂(0)]=1 cos [β₁(1)−β₂(0)]=1 n ₁ ·n ₂=1 κ₁(1)=κ₂(0) Px ₂(1)=Px ₃ Py ₂(1)=Py ₃ Pz ₂(1)=Pz ₃ cos [α₂(1)−α₃]=1 cos [β₂(1)−β₃]=1

As described, the twelve expressions are realized for the twelve unknown, so that solutions to the unknowns can be found. The Newton-Rapson method is applied to these expressions for solutions, which are listed in Table 30, together with the initial values. TABLE 30 Initial values and solutions initial value solution curve C₁ a₀ 0.0 (known) — connecting a₁ −0.2684 −5.4455 points P₁ and a₂ 1.0739 5.4122 P₂ b₀ π/2 (known) — b₁ 0.0 −3.8590 b₂ 0.0 3.1003 h 12.7684 13.5862 curve C₂ a₀ −0.1648 −0.033258 connecting a₁ 3.2061 3.6770 points P₂ and a₂ −2.6327 −3.6437 P₃ b₀ 0.7853 0.8120 b₁ 0.0 1.6006 b₂ 0.0 −2.4126 H 9.6752 9.2873

(b-5) Production of Curve:

FIG. 68 shows, in a parallel form, both a curve produced based on the parameters obtained in section (b-4) arid the polygon produced in section (b-2). The solid curve line denotes the curve C₁ and the broken curved line denotes the curve C₂. At this stage, there are provided as three-dimensional clothoid curves with tangential directions controlled at the stating and end points and the G² continuity kept.

(b-6) Conditional Expressions and Unknowns:

Now assume that the normal lines and curvatures at the starting point P₁ and end point P₂ are given by values shown in Table 27. In order that the normal lines and curvatures are further controlled at the starting and end points, it is necessary to increase the number of conditions at each of the starting and end points by two. However, in a state where the number of conditions is increased by 4, it is impossible to obtain a solution meeting the conditions, due to imbalance in number between the unknowns and the conditions. Therefore, to make the unknowns and conditions equal in their numbers, a new point DP₁ is inserted into the curve C₁ at a point of the curve length variable S=0.5 thereon, as shown in FIG. 69. In addition, as to the curve C₂, a new point DP₂ is inserted thereinto at a point of the curve length variable S=0.5 thereon.

In this situation, a curve connecting the points P₁ and DP₁ is denoted by C′₁, a curve connecting the points DP₁ and P₂ is denoted by C′₂, a curve connecting the points P₂ and DP₂ is denoted by C′₃, and a curve connecting the points DP₂ and P₃ is denoted by C′₄, respectively. The characters which appear in the following description involve with subscripts each corresponding to each curve name. For example, the coordinates, tangential rotation angles α and β, normal line, and curvature of a curve C are expressed respectively by Px_(c), Py_(c), Pz_(c), α_(c), β_(c), n_(c) and κ_(c) which are functions of the curve length variable S. Furthermore, as for the coordinates, tangential rotation angles α and β, normal line, and curvature at the starting and end points, those are expressed respectively as Px_(s), Py_(s), Pz_(s), α_(s), β_(s), n_(s) and κ_(s) at the starting point, whilst those are expressed respectively as PX_(e), Py_(e), Pz_(e), α_(e), β_(e), n_(e) and κ_(e) at the end point.

In the following, the conditions realized at respective points are listed.

[Numeral 122]

Point P₁: Tangential Line, Normal Line and Curvature; 4 Expressions: cos [α_(C′1)(0)−α_(s)]=1 cos [β_(C′1)(0)−β_(s)]=1 n _(C′1)(0)·n _(s)=1 κ_(C′1)(0)=κ_(s) Point DP₁: Position, Tangential Line, Normal Line and Curvature; 7 Expressions: Px _(C′1)(1)=Px _(C′2)(0) Py _(C′1)(1)=Py _(C′2)(0) Pz _(C′1)(1)=Pz _(C′2)(0) cos [α_(C′1)(1)−α_(C′2)(0)]=1 cos [β_(C′1)(1)−β_(C′2)(0)]=1 n _(C′1)(1)·n _(C′2)(0)=1 κ_(C′1)(1)=κ_(C′2)(0) Point P₂: Position, Tangential Line, Normal Line and Curvature; 7 Expressions: Px _(C′2)(1)=Px _(C′3)(0) Py _(C′2)(1)=Py _(C′3)(0) Pz _(C′2)(1)=Pz _(C′3)(0) cos [α_(C′2)(1)−α_(C′3)(0)]=1 cos [β_(C′2)(1)−β_(C′3)(0)]=1 n _(C′2)(1)·n _(C′3)(0)=1 κ_(C′2)(1)=κ_(C′3)(0) Point DP₂: Position, Tangential Line, Normal Line and Curvature; 7 Expressions: Px _(C′3)(1)=Px _(C′4)(0) Py _(C′3)(1)=Py _(C′4)(0) Pz _(C′3)(1)=Pz _(C′4)(0) cos [α_(C′3)(1)−α_(C′4)(0)]=1 cos [β_(C′3)(1)−β_(C′4)(0)]=1 n _(C′3)(1)·n _(C′4)(0)=1 κ_(C′3)(1)=κ_(C′4)(0) Point P₃: Position, Tangential Line, Normal Line and Curvature; 7 Expressions: Px _(C′4)(1)=Px _(e) Py _(C′4)(1)=Py _(e) Pz _(C′4)(1)=Pz _(e) cos [α_(C′4)(1)−α_(e)]=1 cos [β_(C′4)(1)−β_(e)]=1 n _(C′4)(1)·n _(e)=1 κ_(C′4)(1)=κ_(e)

Accordingly, the total number of conditional expressions to be established is 32. In contrast, each curve has the seven clothoid parameters consisting of a₀, a₁, a₂, b₀, b₁, b₂, and h and the number of curves is 4, whereby the number of unknowns totals to 28. That is, the unknowns and the conditional expressions are not equal in number to each other, so that solutions cannot be obtained. In order to overcome this situation, the y and z coordinates of the newly inserted two points DP₁ and DP₂ are treated as unknowns to increase the unknowns by 4. Since this increase allows both the unknowns and the conditional expressions to be 32 in number, the solutions can be obtained.

(b-7) Decision 2 of Initial Values:

Though the Newton-Rapson method is used to compute solutions satisfying the conditional expressions produced in section (b-6), the initial values of the unknowns are required to be decided so that the computation converges at a higher rate. As a practical measure for that, the three-dimensional curve produced in section (b-5) is divided at the newly inserted points, with the result that four three-dimensional clothoid curves are produced as shown in FIG. 70, and the clothoid parameters are given to the curves.

How to divide the curve C₁ into a curve C′₁ and a curve C′₂ will now be described as a curve division method. Using the parameters of the curve C₁, the clothoid parameters h′, a′₀, a′₁, a′₂, b′₀, b′₁ and b′₂ of the curve C′₁ can be expressed by the following expressions, in which a reference S_(d) represents a curve length variable at the dividing point and is 0.5 in this example. $\begin{matrix} \left\{ \begin{matrix} {a_{0}^{\prime} = a_{0}} \\ {a_{1}^{\prime} = {a_{1}S_{d}}} \\ {a_{2}^{\prime} = {a_{2}S_{d}^{2}}} \\ {b_{0}^{\prime} = b_{0}} \\ {b_{1}^{\prime} = {b_{1}S_{d}}} \\ {b_{2}^{\prime} = {b_{2}S_{d}^{2}}} \\ {h^{\prime} = {h\quad S_{d}}} \end{matrix} \right. & \left\lbrack {{Numeral}\quad 123} \right\rbrack \end{matrix}$

The consideration will then be given to the curve C′₂ whose dividing point is DP₁. Let us assume a curve C″₁ which is identical in size and shape to the curve C₁ but is opposite in direction to the curve C₁. With the use of the parameters of the curve C₁, the clothoid parameters h″, a″₀, a″₁, a″₂, b″₀, b″₁, and b″₂ of the curve C″₁ can be expressed by the following expressions. $\begin{matrix} \left\{ \begin{matrix} {P_{s}^{''} = {P(1)}} \\ {a_{0}^{''} = {a_{0} + a_{1} + a_{2} + \pi}} \\ {a_{1}^{''} = {- \left( {a_{1} + {2\quad a_{2}}} \right)}} \\ {a_{2}^{''} = a_{2}} \\ {b_{0}^{''} = {b_{0} + b_{1} + b_{2}}} \\ {b_{1}^{''} = {- \left( {b_{1} + {2\quad b_{2}}} \right)}} \\ {b_{2}^{''} = b_{2}} \\ {h^{''} = h} \end{matrix} \right. & \left\lbrack {{Numeral}\quad 124} \right\rbrack \end{matrix}$

The dividing point DP₁ on this curve is expressed as DP1=C″₁(1−S_(d)). When it is assumed that the curve C″₁ is divided at the point DP₁, the resultant divided curves include a curve C″₂ whose starting point is P₂ is identical in size and shape to the curve C′₂ and opposite in direction to the curve C′₂. Hence the technique for producing the curve C′₁ enables the curve C″₂ to be produced. In this calculation, the curve C₂ can also be obtained by producing a curve having the identical size and shape but having the opposite direction too the curve C″₂.

This curve C₂ has clothoid parameters h″, a″₀, a″₁, a″₂, b″₀, b″₁, and b″₂, which are provided by the parameters of the curve C₀, which are as follows. $\begin{matrix} \left\{ \begin{matrix} {a_{0}^{''} = {a_{0} + {a_{1}S_{d}} + {a_{2}S_{d}^{2}}}} \\ {a_{1}^{''} = {\left( {1 - S_{d}} \right)\left\{ {a_{1} + {2\quad a_{2}S_{d}}} \right\}}} \\ {a_{2}^{''} = {a_{2}\left( {1 - S_{d}} \right)}^{2}} \\ {b_{0}^{''} = {b_{0} + {b_{1}S_{d}} + {b_{2}S_{d}^{2}}}} \\ {b_{1}^{''} = {\left( {1 - S_{d}} \right)\left\{ {b_{1} + {2\quad b_{2}S_{d}}} \right\}}} \\ {b_{2}^{''} = {b_{2}\left( {1 - S_{d}} \right)}^{2}} \\ {h^{''} = {h\left( {1 - S_{d}} \right)}} \end{matrix} \right. & \left\lbrack {{Numeral}\quad 125} \right\rbrack \end{matrix}$

As described, at the point DP₁ giving 0.5 to the curve length variable S on the three-dimensional clothoid curve C₁, the curve C₁ can be divided into the curves C′₁ and C′₂. Similarly to this, at the point DP₂ giving 0.5 to the curve length variable S on the three-dimensional clothoid curve C₂, the curve C₂ can be divided into the curves C′₃ and C′₄.

The parameters of the four curves divided on the foregoing are listed in Table 31. These parameters of the curves are used as initial parameters to the Newton-Rapson method in calculating solutions satisfying the conditional expressions established in section b-6. TABLE 31 Parameters of curves produced by division curve a₀ 0.0 (known) curve a₀ 4.9134 C′₁ a₁ −2.7227 C′₂ a₁ −0.016629 a₂ 1.3530 a₂ 1.3530 b₀ π/2 (known) b₀ 0.41633 b₁ −1.9295 b₁ −0.37938 b₂ 0.7750 b₂ 0.77507 h 6.7931 h 6.7931 staring {0.0, 0.0, 0.0} staring {1.8431, 3.0860, point point 4.9597} curve a₀ −0.033258 curve a₀ 7.1774 C′₃ a₁ 1.8385 C′₄ a₁ 0.016629 a₂ −0.91093 a₂ −0.91093 b₀ 0.81202 b₀ 1.0091 b₁ 0.80031 b₁ −0.40601 b₂ −0.60316 b₂ −0.60316 h 4.6436 h 4.6436 staring {5.0, 5.0, 10.0} staring {7.0029, 8.1298, point point 7.5337}

(b-8) Obtaining Clothoid Parameters Satisfying Conditions:

Based on the initial values decided in section (b-7), the solutions satisfying the conditional expressions established in section (b-6) were obtained using the Newton-Rapson method. Table 32 shows those calculated parameters of each curve. In addition, Table 33 shows differences between given values and the produced values in respect of the tangential line, normal line, and curvature at the starting and end points of each produced curve. TABLE 32 Parameters of produced curves curve a₀ 0.0 (known) curve a₀ 5.3846 C′₁ a₁ 0.0000 C′₂ a₁ −3.4602 a₂ −0.89854 a₂ 4.341 b₀ π/2 (known) b₀ 0.47690 b₁ −0.51836 b₁ −3.2143 b₂ −0.57552 b₂ 3.4613 h 5.1836 h 9.9808 starting {0.0, 0.0, 0.0} starting {1.8431, 4.1726, point point 1.4653} curve a₀ −0.017740 curve a₀ 6.8553 C′₃ a₁ 3.4572 C′₄ a₁ −1.1443 a₂ −2.8673 a₂ 0.57219 b₀ 0.72385 b₀ 0.76315 b₁ 2.4551 b₁ −1.1942 b₂ −2.4158 b₂ 0.43108 h 6.60818 h 3.3206 starting {5.0, 5.0, 10.0} starting {7.0029, 9.0734, point point 5.6186}

TABLE 33 Differences between given values and produced values in respect of tangential line, normal line and curvature at starting and end points of produced curve unit tangential principal normal coordinate vector vector curvature P₁ given {0.0, 0.0 0.0} {0.0, 1.0, 0.0} {1.0, 0.0, 0.0} 0.10 value value on {0.0, 0.0, 0.0} {0.0, 1.0 0.0} {1.0, 0.0, 0.0} 0.10 produced curve difference {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} 0 P₃ given {10.0, 10.0, 5.0} {1.0, 0.0, 0.0} {0.0, −1.0, 0.0} 0.10 value value on {10.0, 10.0, 5.0} {1.0, 0.0, 0.0} {0.0, −1.0, 0.0} 0.10 produced curve difference {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} {0.0, 0.0, 0.0} 0

(b-9) Production of Curves:

A curve produced on the parameters obtained in section (b-8) is shown in FIG. 71. In this figure, the solid line depicts a three-dimensional clothoid curve, while the broken line, chain line, chain double-dashed line, and chain triple-dashed line depict respectively patterns of changes in the curvature radius of each curve in which the change patterns are calculated on both the principal normal line which is set to the direction of each curve and the curvature radius which is set to the size of each curve (the radius curvature is subjected to the logarithm computation after addition of the logarithm natural). FIG. 72 shows a graph presenting the relationship between the distance s moved from the starting point of each curve and the curvature κ depending on the respective types of the curves shown in FIG. 71. From Table 33, it is understood that the produced curves satisfy the given conditions.

As described, how to produce the curves on the three-dimensional clothoid interpolation in such a manner that the tangential line, normal line and curvature at both ends are controlled has been exemplified. 3. Numerical Control Technique Using the Three-Dimensional Clothoid Interpolation:

The curve on the foregoing three-dimensional clothoid interpolation can be used effectively for creating numerical control information necessary for control of motion of various objects being targeted including a tool of a machine tool. The characteristic of the control is easiness of speed control and possibility of smoothing changes in the speed.

(1) Numerical Control Technique Using the Three-Dimensional Clothoid Interpolation:

The numerical control technique that uses the three-dimensional clothoid interpolation curve is composed of procedures explained in FIG. 73.

(a) Design of Motional Trajectory of Tool (FIG. 73, S1):

As stated in the preceding section, a three-dimensional clothoid interpolation curve that meets conditions is decided first. When a tool of robots etc. is moved, it can be estimated that a representative point of the tool (tool point such as a tool center point) moves along a continuous trajectory curve (including a straight line) to be depicted two-dimensionally or spatially as the time elapses. The positions of the tool point are expressed as coordinates (x, y, z) and the attitudes of the tool point are expressed by rotation angles, for example, with respect to the x-, y- and z-axes. Whatever the tool point may show any complicated motions, their trajectories are connected continuously, without discontinuations. Thus the first stage for the motion control is to design the shape of such a trajectory into a three-dimensional curve.

(b) Application of Motion Curve (FIG. 73, S2):

In response to a command from numerical control, a distribution of moving speeds at points to be controlled on the curve is specified along the three-dimensional clothoid interpolation curve. That is, the second stage for the motion control is to decide speeds and accelerated speeds of the tool point moving along the design trajectory. A technical matter that the tool point moves along the trajectory based on what kind of temporal function is set by deciding the speeds and accelerated speeds of the tool point. The speeds and accelerated speeds of the tool point can be decided based on either the time or a contour shape. In general, the decision based on the time is more frequent than the other. However, for example, for processing a curved surface, it is needed to meet the demand that a flat area of the surface needs a faster move of a tool and a curved area needs a slower move of the tool, whereby the speeds and accelerated speeds are decided based on the contour shape.

In the present embodiment, a good-characteristic curve used, for example, in a cum mechanism is employed for the interpolation. The positions and attitudes defined in the Cartesian space (real space) compose a group of continuous groups, and a motion curve is applied to each of the continuous groups to specify acceleration and deceleration. The Cartesical space is a three-dimensional coordinate system made by using three x-, y- and z-axes which are mutually perpendicular at the origin and is able to express the attitudes of the tool points as well as the positions thereof.

(c) Time Sharing (FIG. 73, S3) and Computation of Attitudes of Tool in the Cartesian Space (FIG. 73, S4):

In the present embodiment, every unit time during which numerical control information is computed, a moved distance and an attitude of the tool point is calculated in accordance with a moving speed specified to the object to be controlled. Thus, since the trajectory and motion have now been determined, the positions and attitudes of the tool point are given as functions of the time t. It is therefore possible to obtain displacements of the tool point at each time instant in that case that the time t is given as minute time intervals. The computation in this step (c) can be detailed as follows. At the point at which the tool point exists at present, not only values of the parameters such as a tangential line and a curvature but also positional information are known. Multiplying a specified moving speed by a unit time provides a curve length that has moved during the unit time, and this curve length allows curve length parameters after the movement to be computed. By using these curve length parameters after the movement, not only values of the parameters such as a tangential line and a curvature but also positional information can be computed at the next point to which the tool point has moved.

The foregoing procedures make it possible that the position and attitude of the tool point at the time t in the Cartesian space (real space). The variables in the thee-dimensional space are “x, y, z, γ, μ, ν, and θ,” in which “γ, μ, ν, and θ” represent the attitude E in the form of equivalent rotation. “γ, μ, and ν” represent an axis of the equivalent rotation and “θ” represents a rotation angle.

Further, in response to a request from the numerical control, an offset point which is offset along the three-dimensional clothoid interpolation curve toward the normal line by a specified amount of dimension can be obtained. This is provided as a cutter path (a trajectory of the tool center). The calculation for this cutter path is easier, because the normal line has already been determined.

(d) Inverse Kinematics (FIG. 73, S5)

Next, the rotation angle of each axis, which is necessary for providing the tool point with its position and attitude, will now be obtained. This process is generally referred to as an inverse kinematics. If there is a robot with six axes, that is, there exist six joints, the position and attitude of the tool point is fixed depending on how many joints (such as a joint of a shoulder, joint of an arm, joint of an elbow, joint of a list, and others) turn. This is called a sequential kinematics. Unlike this, the inverse kinematics is a process to obtain rotation angles θ1 to θ6 in the axial space from the position an(i attitude of the tool point in the real space. An actuator installed to each axis is not always limited to a rotary motor, but may be a linearly-driven actuator such as a linear motor. Even in such a case, it is necessary to compute values about an electronic gear which converts a minimum limit real displacement into the number of input pulses to the linear motor. The inverse kinematics is inherent to each type of the mechanisms of robots etc, and the inverse kinematics is prepared for each of various robots.

(e) Computation of Displacement of Rotor for Each Axis in the Axial Coordinate System (FIG. 73, S6):

With respect to the respective time-shared tool points, the inverse kinematics are then computed, and then the computed values are subjected to computation of their integers which represent displacement pulses for the respective motors (including linearly-driven actuators) installed for the respective axes. In cases where the control is not carried on the pulses, a minimum resolution unit (resolution) assigned to each axial displacement is used as data processed into an integer corresponding to the number of pulses.

The foregoing procedures (a) and (b) are preparatory, so those procedures are carried out only once, respectively. The procedures (c) to (e) are carried out at intervals of a specified unit time and continue until a period of time to be targeted or conditions to be targeted are met.

It is possible that the foregoing all procedures for the computation are carried out by the same numerical control device. Alternatively, with the procedures (a) and (b) previously computed and decided by a further computer, the resultant curve parameters from those procedures are sent into the numerical control device, where the procedures (c) to (e) are then subjected to computation.

(2) NC Device and CNC Device:

Now, description will be given to a case in which an independent numerical control device (NC device) is used and a further case in which a CNC device is used that integrally combines a computer serving as programs and an NC device.

(a) In Cases Where Independent NC Device is Used:

A conventionally used normal NC machine is separated, in terms of hardware, into two devices consisting of a programmer that performs programming to create NC data and an NC device that uses the NC data to drive a machine apparatus. In contrast, in the case of a recently used CNC machine, a computer in charge of programming is incorporated within an NC device in an integrated manner.

First, as to the former one, that is, the independent NC device is used, the numerical control technique on the three-dimensional clothoid is proposed. In this case, an assumption is made such that clothoid parameters are used for transmitting and receiving clothoid data. And a clothoid format is defined in the G code, which is for example as follows.

G * * *

A0, A1, A2, B0, B1, B2, H

The notation “G * * * ” indicates the G-code number. The notations “A0 to H” indicate seven parameters of a three-dimensional clothoid segment. Before performing this code, a tool has come to a position P₀. In the NC device, those parameters are used to compute an instantaneous tool position or a positional difference of the tool position. This procedure is called a “sequential solution.” The reason why the sequential solution is obtained in the NC device is to prevent data from being produced largely. Therefore, the NC device requires a kind of computation. Expressing the clothoid by the G code makes it possible that the clothoid curve is combined into the existing NC device.

(c) CNC Technique:

The CNC device, in which a computer functioning as a programmer is integrally combined with an NC device, will now be described. In this configuration, which hardware part of the CNC device computes values concerning with the clothoids does not become an issue. In addition, concern about a data amount and a transfer speed are on the dismissal.

In general, the programmer includes a step to decide clothoid parameters suitable to respective conditions. This is called an “inverse solution.” For example, this inverse solution includes a program which computes a smooth curve passing a row of some discrete points in a strict manner (that is, interpolation for a row of free points). Moreover, it is frequent that the inverse solution a program for deciding trajectories of a tool which is necessary for processing (that is, CAM).

(3) Characteristics of Numerical Control Technique Using the Three-Dimensional Clothoid Interpolation:

The numerical control technique using the three-dimensional clothoid curve has the following advantages.

(a) As described above, the curve is expressed by independent parameters which represent the curve length moved from a reference point, so that numerical control information corresponding to a specified moving speed can be produced. In other curves, such as spline curves, which are expressed by independent parameters having no relation to the curve length, it is difficult to calculate the values of independent parameters corresponding to a point to which a tool point is to move, even if such an after-move point may be found by calculation. Hence in this case, numerical control information corresponding to a specified moving speed is difficult to produce.

To be specific, as shown in FIG. 74, it is assumed that a tool is moved at a liner velocity from a point R₀ on a trajectory expressed by a spline function R(t). When a target point for the tool is calculated at regular intervals, an amount ΔS of move of the tool achieved after an elapse of the unit time is found. However, because an independent variable t is not related to the time or curve length, an amount Δt of changes of the independent variable cannot be computed at once. That is, for obtaining the change amount Δt, it is required to resolve an expression of R₀+ΔS=R(t₀+Δt). Without having the amount Δt, the target point cannot be calculated, resulting in that resolving the above expression should be repeated at regular intervals.

(b) In the case of the three-dimensional clothoid curve, it is expected that how the curvature changes to the curve length is approximately constant, and it is expected that corresponding numerical control information is provided as control information which requires less dynamic overload in controlling the motion. In the general spline interpolation etc., it is difficult to estimate and control changes in the curvature.

(c) The three-dimensional clothoid curve includes, as special cases thereof, straight lines, circular arcs, and spiral curves, and numerical control information in relation to a variety of curves can be expressed strictly, with no combination with individual curve expressions.

(d) The three-dimensional clothoid curve is based on a natural equation independent of how the coordinate axes are set. In the conventional NC device in which curves are represented with the x-, y- and z-axes, processing of a workpiece depends on how to install the workpiece; for example, when an obliquely installed workpiece is required to be processed, an obliquely set surface of the workpiece may be easy or difficult to process, depending on how the workpiece is installed. In the three-dimensional clothoid curve, the curve is given as line lengths, with the result that even for processing an oblique surface of a workpiece, producing trajectories along the oblique surface allows the processing to be done in the same way as that for the horizontal surface.

In the present invention, in cases where a computer is configured to perform a program expressing a trajectory of a machine tool or a contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, the program can be stored in an auxiliary storage, such as a hard disk unit, of the computer, in which a main memory of the computer can receive loaded program data in order to perform the program. Further, such a program can be stored in portable recording mediums such as CD-ROMs for trading or stored in a storage of a computer communicably connected to a network in order to transfer program data to other computers via the network. Furthermore, results computed by such a program (curve parameters of a three-dimensional clothoid curve, displacement pulses for motors installed for respective axes, and others) can be stored in portable recording mediums such as CD-ROMs for trading.

INDUSTRIAL APPLICABILITY

Thanks to the three-dimensional curve according to the present invention, the versatile technique for producing spatial curves required for designing and producing industrial products can be provided. When an object moves at accelerated or decelerated speeds along spatial curves, design which makes changes in binding force smoother can be done. This characteristic is widely applicable to the method for designing trajectories of motion of a mechanical element with mass. As an application of the design according to the present invention, how to design the regression path of the ball screw has been described. However, the application is not limited to such an application but can be widely applicable to design of other objects, which include a rail of a roller coaster which runs at fast speeds along a rail winding up and down and back and forth, linear guides, and other objects. Other than listed here, thanks to the characteristic that changes in the curvature can be designed properly to the curve length, the design technique according to the present invention can be applied to other various industrial fields such as a field involving design of aesthetic design curves. 

1. A method for designing industrial products, characterized in that a shape of an industrial product is designed by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable.
 2. The design method for industrial products according to claim 1, characterized in that the industrial product is a machine including a mechanism in which a mechanical element having a mass moves and a trajectory of motion of the mechanical element is designed by using the three-dimensional curve (referred to as the three-dimensional clothoid curve).
 3. The design method for industrial products according to claim 2, characterized in that the machine is a screw device including a mechanism in which a ball as the mechanical element moves, the screw device comprises a screw shaft having an outer surface on which a spiral rolling element rolling groove is formed, a nut having an inner surface on which a load rolling element rolling groove is formed so as to be opposed to the rolling element rolling groove and a regression path is formed to connect a one end and the other end of the load rolling element rolling groove, and a plurality of rolling elements disposed between the rolling element rolling groove of the screw shaft and the load rolling element rolling groove of the nut and disposed in the regression path, and the regression path of the screw device is designed by using the three-dimensional curve (referred to as the three-dimensional clothoid curve).
 4. The design method for industrial products according to claim 1, characterized in that the three-dimensional clothoid curve is defined by the following expressions. $\begin{matrix} \left\lbrack {{Numeral}\quad 126} \right\rbrack & \quad \\ {{P = {{P_{0} + {\int_{0}^{s}{u{\mathbb{d}s}}}} = {P_{0} + {h{\int_{0}^{S}{u{\mathbb{d}S}}}}}}},{0 \leq s \leq h},{{0 \leq S} = {\frac{s}{h} \leq 1}}} & (1) \\ \begin{matrix} {u = {E^{k\quad\beta}{E^{j\quad\alpha}(i)}}} \\ {= {{\begin{bmatrix} {\cos\quad\beta} & {\sin\quad\beta} & 0 \\ {\sin\quad\beta} & {\cos\quad\beta} & 0 \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} {\cos\quad\alpha} & 0 & {\sin\quad\alpha} \\ 0 & 1 & 0 \\ {{- \sin}\quad\alpha} & 0 & {\cos\quad\alpha} \end{bmatrix}}\begin{Bmatrix} 1 \\ 0 \\ 0 \end{Bmatrix}}} \\ {= \begin{Bmatrix} {\cos\quad\beta\quad\cos\quad\alpha} \\ {\sin\quad\beta\quad\cos\quad\alpha} \\ {{- \sin}\quad\alpha} \end{Bmatrix}} \end{matrix} & (2) \\ {\alpha = {a_{0} + {a_{1}S} + {a_{2}S^{2}}}} & (3) \\ {{\beta = {b_{0} + {b_{1}S} + {b_{2}S^{2}}}},{wherein}} & (4) \\ \left\lbrack {{Numeral}\quad 127} \right\rbrack & \quad \\ {{P = \begin{Bmatrix} x \\ y \\ z \end{Bmatrix}},{P_{0} = \begin{Bmatrix} x_{0} \\ y_{0} \\ z_{0} \end{Bmatrix}}} & (5) \end{matrix}$ shows a positional vector at each point on the three-dimensional clothoid curve and its initial value, respectively. Assume that the length of a curve from a starting point is s and its whole length (a length from the starting point to an end point) is h. A value produced by dividing s by h is expressed as S. S is a dimensionless value, which is called a curve length variable. i, j and k are unit vectors in the x-axis, y-axis and z-axis directions, respectively. u is a unit vector showing a tangential direction of a curve at a point P, which is given by Expression (2). E^(κβ) and E^(jα) are rotation matrices and represent an angular rotation of angle β about the k-axis and an angular rotation of angle α about the j-axis, respectively. The former is referred to as a yaw rotation, while the latter is referred to as a pitch rotation. Expression (2) means that the unit vector in the i-axis direction is rotated by an angle α about the j-axis, before being rotated by an angle β about the k-axis, thus producing a tangent vector u. a₀, a₁, a₂, b₀, b₁ and b₂ are constants.
 5. The design method for industrial products according to claim 4, characterized in that a plurality of spatial points are specified in a three-dimensional coordinate and these spatial points are interpolated by using the three-dimensional clothoid curve, whereby the shape of the industrial product is designed.
 6. The design method for industrial products according to claim 5, characterized in that seven parameters a₀, a₁, a₂, b₀, b₁, b₂ and h of the three-dimensional clothoid segments are calculated so that, between a one three-dimensional clothoid segment (a unit curve consisting of a group of curves produced on the interpolation) and the next three-dimensional clothoid segment (a unit curve consisting of a group of curves produced on the interpolation), positions, tangential directions, normal directions, and curvatures of both the one and next three-dimensional clothoid segments are made continuous to each other, respectively, at the plurality of spatial points.
 7. The design method for industrial products according to claim 6, characterized in that the seven parameters a₀, a₁, a₂, b₀, b₁, b₂ and h of the three-dimensional clothoid segments are calculated by making the number of conditional expressions produced by mutual addition to be made between conditional expressions concerning the tangential directions, the normal directions and the curvatures at both the starting point and the end point and further conditional expressions allowing the positions, the tangential directions, the normal directions, and the curvatures of both the one and next three-dimensional clothoid segments to be made continuous to each other, respectively, at the plurality of spatial points agree with the unknowns of the seven parameters a₀, a₁, a₂, b₀, b₁, b₂ and h of the three-dimensional clothoid segments, whereby the conditional expressions is made agree with the unknowns in terms of number thereof, by specifying the tangential directions, the normal directions and the curvatures at the stating point and the and point among the plurality of spatial points and additionally inserting objective points being interpolated between the spatial points which have been specified in advance.
 8. An industrial product designed by using the design method for industrial products according to claim
 1. 9. A program, which is for designing a shape of an industrial product, enabling a computer to operate as means to design the shape of the industrial product by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable.
 10. A computer-readable recording medium, which is for designing a shape of an industrial product, recording thereon a program enabling a computer to operate as means to design the shape of the industrial product by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable.
 11. A numerical control method expressing a trajectory of a machine tool or a contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable and controlling motion of the machine tool based on the three-dimensional curve.
 12. The numerical control method according to claim 11, wherein the three-dimensional clothoid is defined by the following expressions. $\begin{matrix} \left\lbrack {{Numeral}\quad 128} \right\rbrack & \quad \\ {{P = {{P_{0} + {\int_{0}^{s}{u{\mathbb{d}s}}}} = {P_{0} + {h{\int_{0}^{S}{u{\mathbb{d}S}}}}}}},{0 \leq s \leq h},{{0 \leq S} = {\frac{s}{h} \leq 1}}} & (1) \\ \begin{matrix} {u = {E^{k\quad\beta}{E^{j\quad\alpha}(i)}}} \\ {= {{\begin{bmatrix} {\cos\quad\beta} & {{- \sin}\quad\beta} & 0 \\ {\sin\quad\beta} & {\cos\quad\beta} & 0 \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} {\cos\quad\alpha} & 0 & {\sin\quad\alpha} \\ 0 & 1 & 0 \\ {{- \sin}\quad\alpha} & 0 & {\cos\quad\alpha} \end{bmatrix}}\begin{Bmatrix} 1 \\ 0 \\ 0 \end{Bmatrix}}} \\ {= \begin{Bmatrix} {\cos\quad\beta\quad\cos\quad\alpha} \\ {\sin\quad\beta\quad\cos\quad\alpha} \\ {{- \sin}\quad\alpha} \end{Bmatrix}} \end{matrix} & (2) \\ {\alpha = {a_{0} + {a_{1}S} + {a_{2}S^{2}}}} & (3) \\ {{\beta = {b_{0} + {b_{1}S} + {b_{2}S^{2}}}},{wherein}} & (4) \\ \left\lbrack {{Numeral}\quad 129} \right\rbrack & \quad \\ {{P = \begin{Bmatrix} x \\ y \\ z \end{Bmatrix}},{P_{0} = \begin{Bmatrix} x_{0} \\ y_{0} \\ z_{0} \end{Bmatrix}}} & (5) \end{matrix}$ shows a positional vector at each point on the three-dimensional clothoid curve and its initial value, respectively. Assume that the length of a curve from a starting point is s and its whole length (a length from the starting point to an end point) is h. A value produced by dividing s by h is expressed as S. S is a dimensionless value, which is called a curve length variable. i, j and k are unit vectors in the x-axis, y-axis and z-axis directions, respectively. u is a unit vector showing a tangential direction of a curve at a point P, which is given by Expression (2). E^(κβ) and E^(jα) are rotation matrices and represent an angular rotation of angle β about the k-axis and an angular rotation of angle α about the j-axis, respectively. The former is referred to as a yaw rotation, while the latter is referred to as a pitch rotation. Expression (2) means that the unit vector in the i-axis direction is rotated by an angle α about the j-axis, before being rotated by an angle β about the k-axis, thus producing a tangent vector u. In this Expression, a₀, a₁, a₂, b₀, b₁ and b₂ are constants.
 13. A numerical control device expressing a trajectory of a machine tool or a contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable and controlling motion of the machine tool based on the three-dimensional curve.
 14. A program, which is for numerically controlling motion of a machine tool, enabling a computer to operate as means to express a trajectory of the machine tool or a contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable.
 15. A computer-readable recoding medium, which is for numerically controlling motion of a machine tool, recording thereon either a program enabling a computer to operate as means to express a trajectory of the machine tool or a contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, or results computed based on the program.
 16. A numerical control method comprising steps of interpolating points of a row of points arbitrarily given in a three-dimensional coordinate by using a three-dimensional curve (referred to as three-dimensional clothoid segments) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable and controlling motion of a machine tool based on the three-dimensional clothoid segments.
 17. A numerical control method comprising steps of mutually connecting a plurality of three-dimensional clothoid curves (each of which is referred to as three-dimensional clothoid segments) in each of which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable and controlling motion of a machine tool based on the plural three-dimensional clothoid segments.
 18. The numerical control method according to claim 16, wherein the three-dimensional clothoid curve is defined by the following expressions. $\begin{matrix} \left\lbrack {{Numeral}\quad 130} \right\rbrack & \quad \\ {{P = {{P_{0} + {\int_{0}^{s}{u{\mathbb{d}s}}}} = {P_{0} + {h{\int_{0}^{S}{u{\mathbb{d}S}}}}}}},{0 \leq s \leq h},{{0 \leq S} = {\frac{s}{h} \leq 1}}} & (1) \\ \begin{matrix} {u = {E^{k\quad\beta}{E^{j\quad\alpha}(i)}}} \\ {= {{\begin{bmatrix} {\cos\quad\beta} & {{- \sin}\quad\beta} & 0 \\ {\sin\quad\beta} & {\cos\quad\beta} & 0 \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} {\cos\quad\alpha} & 0 & {\sin\quad\alpha} \\ 0 & 1 & 0 \\ {{- \sin}\quad\alpha} & 0 & {\cos\quad\alpha} \end{bmatrix}}\begin{Bmatrix} 1 \\ 0 \\ 0 \end{Bmatrix}}} \\ {= \begin{Bmatrix} {\cos\quad\beta\quad\cos\quad\alpha} \\ {\sin\quad\beta\quad\cos\quad\alpha} \\ {{- \sin}\quad\alpha} \end{Bmatrix}} \end{matrix} & (2) \\ {\alpha = {a_{0} + {a_{1}S} + {a_{2}S^{2}}}} & (3) \\ {{\beta = {b_{0} + {b_{1}S} + {b_{2}S^{2}}}}{wherein}} & (4) \\ \left\lbrack {{Numeral}\quad 131} \right\rbrack & \quad \\ {{P = \begin{Bmatrix} x \\ y \\ z \end{Bmatrix}},{P_{0} = \begin{Bmatrix} x_{0} \\ y_{0} \\ z_{0} \end{Bmatrix}}} & (5) \end{matrix}$ shows a positional vector at each point on the three-dimensional clothoid curve and its initial value, respectively. Assume that the length of a curve from a starting point is s and its whole length (a length from the starting point to an end point) is h. A value produced by dividing s by h is expressed as S. S is a dimensionless value, which is called a curve length variable. i, j and k are unit vectors in the x-axis, y-axis and z-axis directions, respectively. u is a unit vector showing a tangential direction of a curve at a point P, which is given by Expression (2). Ekβ and Ejα are rotation matrices and represent an angular rotation of angle β about the k-axis and an angular rotation of angle α about the j-axis, respectively. The former is referred to as a yaw rotation, while the latter is referred to as a pitch rotation. Expression (2) means that the unit vector in the i-axis direction is rotated by an angle a about the j-axis, before being rotated by an angle β about the k-axis, thus producing a tangent vector u. a₀, a₁, a₂, b₀, b₁, and b₂ are constants.
 19. The numerical control method according to claim 18, characterized in that the seven parameters a₀, a₁, a₂, b₀, b₁, b₂ and h are calculated in such a manner that, at a connecting point between, of the plural three-dimensional clothoid segments, a single three-dimensional clothoid segment and the next three-dimensional clothoid segment thereto, positions and tangential directions (and in some cases, curvatures) of both three-dimensional clothoid segments are continuous, respectively.
 20. A numerical control device interpolating points of a row of points arbitrarily given in a three-dimensional coordinate by using a three-dimensional curve in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable and controlling motion of a machine tool based on the three-dimensional clothoid segments.
 21. A program, which is for numerically controlling motion of a machine tool, enabling a computer to operate as means to interpolate points of a row of points arbitrarily given in a three-dimensional coordinate by using a three-dimensional curve in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable and controlling the motion of the machine tool based on the three-dimensional clothoid segments.
 22. A computer-readable recording medium, which is for numerically controlling motion of a machine tool, recording either a program enabling a computer as means for interpolating points of a row of points arbitrarily given in a three-dimensional coordinate by using a three-dimensional curve in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, or results calculated on the program.
 23. A numerical control method comprising steps of expressing a trajectory of a machine tool or a contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, specifying motion of the machine tool to be moved along the three-dimensional curve, and calculating a moved position of the machine tool at unit-time intervals according to the specified motion, wherein the motion is defined as positional information changing as a function of time.
 24. The numerical control method according to claim 23, wherein the three-dimensional clothoid curve is defined by the following expressions. $\begin{matrix} \left\lbrack {{Numeral}\quad 132} \right\rbrack & \quad \\ {{P = {{P_{0} + {\int_{0}^{s}{u{\mathbb{d}s}}}} = {P_{0} + {h{\int_{0}^{S}{u{\mathbb{d}S}}}}}}},{0 \leq s \leq h},{{0 \leq S} = {\frac{s}{h} \leq 1}}} & (1) \\ \begin{matrix} {u = {E^{k\quad\beta}{E^{j\quad\alpha}(i)}}} \\ {= {{\begin{bmatrix} {\cos\quad\beta} & {{- \sin}\quad\beta} & 0 \\ {\sin\quad\beta} & {\cos\quad\beta} & 0 \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} {\cos\quad\alpha} & 0 & {\sin\quad\alpha} \\ 0 & 1 & 0 \\ {{- \sin}\quad\alpha} & 0 & {\cos\quad\alpha} \end{bmatrix}}\begin{Bmatrix} 1 \\ 0 \\ 0 \end{Bmatrix}}} \\ {= \begin{Bmatrix} {\cos\quad\beta\quad\cos\quad\alpha} \\ {\sin\quad\beta\quad\cos\quad\alpha} \\ {{- \sin}\quad\alpha} \end{Bmatrix}} \end{matrix} & (2) \\ {\alpha = {a_{0} + {a_{1}S} + {a_{2}S^{2}}}} & (3) \\ {{\beta = {b_{0} + {b_{1}S} + {b_{2}S^{2}}}}{wherein}} & (4) \\ \left\lbrack {{Numeral}\quad 133} \right\rbrack & \quad \\ {{P = \begin{Bmatrix} x \\ y \\ z \end{Bmatrix}},{P_{0} = \begin{Bmatrix} x_{0} \\ y_{0} \\ z_{0} \end{Bmatrix}}} & (5) \end{matrix}$ shows a positional vector at each point on the three-dimensional clothoid curve and its initial value, respectively. Assume that the length of a curve from a starting point is s and its whole length (a length from the starting point to an end point) is h. A value produced by dividing s by h is expressed as S. S is a dimensionless value, which is called a curve length variable. i, j and k are unit vectors in the x-axis, y-axis and z-axis directions, respectively. u is a unit vector showing a tangential direction of a curve at a point P, which is given by Expression (2). Ekβ and Ejα are rotation matrices and represent an angular rotation of angle β about the k-axis and an angular rotation of angle α about the j-axis, respectively. The former is referred to as a yaw rotation, while the latter is referred to as a pitch rotation. Expression (2) means that the unit vector in the i-axis direction is rotated by an angle α about the j-axis, before being rotated by an angle β about the k-axis, thus producing a tangent vector u. a₀, a₁, a₂, b₀, b₁, and b₂ are constants.
 25. A numerical control device which is configured to express a trajectory of a machine tool or a contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, specify motion of the machine tool to be moved along the three-dimensional curve, and calculate a moved position of the machine tool at unit-time intervals according to the specified motion, wherein the motion is defined as positional information changing as a function of time.
 26. A program, which is for numerically controlling motion of a machine tool, enabling a computer to operate as means for expressing a trajectory of a machine tool or a contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, means for specifying motion of the machine tool to be moved along the three-dimensional curve, and means for calculating a moved position of the machine tool at unit-time intervals according to the specified motion, wherein the motion is defined as positional information changing as a function of time.
 27. A computer-readable recording medium, which is for numerically controlling motion of a machine tool, recording thereon a program enabling a computer to operate as means for expressing a trajectory of a machine tool or a contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, means for specifying motion of the machine tool to be moved along the three-dimensional curve, and means for calculating a moved position of the machine tool at unit-time intervals according to the specified motion, wherein the motion is defined as positional information changing as a function of time.
 28. The numerical control method according to claim 17, wherein the three-dimensional clothoid curve is defined by the following expressions. $\begin{matrix} \left\lbrack {{Numeral}\quad 130} \right\rbrack & \quad \\ {{P = {{P_{0} + {\int_{0}^{s}{u{\mathbb{d}s}}}} = {P_{0} + {h{\int_{0}^{S}{u{\mathbb{d}S}}}}}}},{0 \leq s \leq h},{{0 \leq S} = {\frac{s}{h} \leq 1}}} & (1) \\ \begin{matrix} {u = {E^{k\quad\beta}{E^{j\quad\alpha}(i)}}} \\ {= {{\begin{bmatrix} {\cos\quad\beta} & {{- \sin}\quad\beta} & 0 \\ {\sin\quad\beta} & {\cos\quad\beta} & 0 \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} {\cos\quad\alpha} & 0 & {\sin\quad\alpha} \\ 0 & 1 & 0 \\ {{- \sin}\quad\alpha} & 0 & {\cos\quad\alpha} \end{bmatrix}}\begin{Bmatrix} 1 \\ 0 \\ 0 \end{Bmatrix}}} \\ {= \begin{Bmatrix} {\cos\quad\beta\quad\cos\quad\alpha} \\ {\sin\quad\beta\quad\cos\quad\alpha} \\ {{- \sin}\quad\alpha} \end{Bmatrix}} \end{matrix} & (2) \\ {\alpha = {a_{0} + {a_{1}S} + {a_{2}S^{2}}}} & (3) \\ {{\beta = {b_{0} + {b_{1}S} + {b_{2}S^{2}}}}{wherein}} & (4) \\ \left\lbrack {{Numeral}\quad 131} \right\rbrack & \quad \\ {{P = \begin{Bmatrix} x \\ y \\ z \end{Bmatrix}},{P_{0} = \begin{Bmatrix} x_{0} \\ y_{0} \\ z_{0} \end{Bmatrix}}} & (5) \end{matrix}$ shows a positional vector at each point on the three-dimensional clothoid curve and its initial value, respectively. Assume that the length of a curve from a starting point is s and its whole length (a length from the starting point to an end point) is h. A value produced by dividing s by h is expressed as S. S is a dimensionless value, which is called a curve length variable. i, j and k are unit vectors in the x-axis, y-axis and z-axis directions, respectively. u is a unit vector showing a tangential direction of a curve at a point P, which is given by Expression (2). Ekβ and Ejα are rotation matrices and represent an angular rotation of angle β about the k-axis and an angular rotation of angle α about the j-axis, respectively. The former is referred to as a yaw rotation, while the latter is referred to as a pitch rotation. Expression (2) means that the unit vector in the i-axis direction is rotated by an angle α about the j-axis, before being rotated by an angle β about the k-axis, thus producing a tangent vector u. a₀, a₁, a₂, b₀, b₁ and b₂ are constants. 